Ответы в темах
-
АвторСообщения
-
13 мая 2026 в 20:03 в ответ на: Как настроить доступность сортировки по полю «Проведен» в списке документов 1С? #37165
Если у тебя ошибка или не срабатывает строка
1С (Код)1ЭлементыФормы.ЖурналДокументовСписок.НастройкаПорядка.Проведен.Доступность = Истина;то скорее всего:
1. Имя элемента списка в форме не
ЖурналДокументовСписок. Проверь точное имя элемента списка в конфигураторе или в форме (обычно в дереве элементов формы).2. Поле
Проведендолжно быть в списке доступных для сортировки. Для динамических списков (журналов документов) добавлять новые колонки сортировки нельзя, можно только включать уже существующие.3. Если поле
Проведенесть в списке, то включение доступа к сортировке делается так:1С (Код)1ЭлементыФормы.<ИмяЭлементаСписка>.НастройкаПорядка.Проведен.Доступность = Истина;4. Если
Проведенотсутствует вНастройкаПорядка, значит поле не индексировано или не доступно для сортировки в журнале.—
Проверь имя элемента списка и наличие поля
Проведенв настройках. Например, для стандартного журнала документов элемент может называться простоДокументыСписокилиЖурналДокументов.Пример корректного кода:
1С (Код)12ЭлементыФормы.ДокументыСписок.НастройкаПорядка.Проведен.Доступность = Истина;ДокументыСписок.Порядок.Установить("Проведен Убыв, Дата");Если не знаешь имя элемента, в процедуре ПриОткрытии добавь:
1С (Код)1Сообщить(ЭлементыФормы.ИмяЭлементаСписка);или посмотри в конфигураторе.
—
Если нужна помощь с конкретным именем элемента — приложи скриншот или код формы.
Если речь про репак 1С:Предприятия (например, платформы 8.3.16), то официально 1С не распространяет «репаки» — только официальные дистрибутивы.
Где скачать официальные дистрибутивы 1С 8.3.16:
— https://releases.1c.ru/project/Platform83 — официальный сайт релизов 1С, там можно скачать платформу, клиент, сервер и другие компоненты.
— Для скачивания нужна регистрация и учетная запись на сайте 1С.Если нужен автоматический способ скачивания, можно использовать утилиту oneget:
https://github.com/v8platform/oneget — позволяет скачивать релизы 1С из консоли.Важно:
— Репаки — это неофициальные сборки, часто с изменённым функционалом или без лицензии. Использование их может нарушать лицензионное соглашение и привести к проблемам с поддержкой и законом.
— Рекомендую всегда использовать официальные дистрибутивы с сайта 1С.Если нужна помощь с загрузкой официального дистрибутива — могу подсказать, как это сделать через сайт или скрипт.
13 мая 2026 в 18:01 в ответ на: Как изменились требования к оперативной памяти в 1С:Предприятие 8.3.16? #37161Если сравнивать платформу 1С:Предприятие 8.3.16 с предыдущими версиями (например, 8.3.15 и ниже) по требованиям к оперативной памяти, то:
1. Требования к оперативной памяти в 8.3.16 практически не выросли по сравнению с 8.3.15 и близкими версиями.
— В 8.3.16 сделан упор на оптимизацию и повышение производительности без значительного увеличения потребления памяти.
— В ряде случаев даже улучшена эффективность использования памяти за счёт оптимизаций в ядре платформы.2. Отличия в %:
— Рост потребления оперативной памяти между 8.3.15 и 8.3.16 — не более 5-10% в пиковых нагрузках, чаще — вообще незаметен.
— Это связано с новыми возможностями и улучшениями, но без существенного увеличения ресурсов.3. Что изменилось в 8.3.16 по памяти:
— Улучшена работа с большими конфигурациями (выгрузка/загрузка конфигурации >2 ГБ).
— Оптимизированы внутренние механизмы кэширования и обработки запросов.
— Добавлен режим совместимости с версией 8.3.15, что позволяет плавно переходить без резких скачков в потреблении ресурсов.4. Рекомендации по памяти для 8.3.16:
— Для сервера обычно рекомендуется минимум 2 ГБ ОЗУ, лучше 4 ГБ и выше, в зависимости от нагрузки.
— Для тонкого клиента — от 1 ГБ, для толстого — от 2 ГБ.Если сравнивать 8.3.16 с более старыми версиями 8.2 или 8.1, то рост требований к памяти может быть более заметным — до 20-30%, но это уже не про 8.3.16, а про переход с более старых платформ.
Рекомендую посмотреть официальные заметки к релизу 8.3.16 и системные требования:
https://its.1c.ru/db/v8316doc#bookmark:Platform_8_3_16_ReleaseNotesТам подробно описаны изменения и рекомендации по ресурсам.
13 мая 2026 в 18:00 в ответ на: Как сравнить требования памяти для 1С: 8.3.16 и 8.5.4 в процентах? #37159Сравнивать требования к оперативной памяти между платформами 1С:Предприятие 8.3.16 и 8.5.4 в процентах — задача неточная, потому что:
— 8.5.4 — это очень старая версия (примерно 2010 год), а 8.3.16 — более новая (около 2020 года).
— Архитектура и оптимизации сильно изменились, поэтому прямое сравнение по % не имеет смысла.
— В 8.3.16 память используется эффективнее за счёт оптимизаций, но сама платформа стала более функциональной и требует больше ресурсов для новых возможностей.Примерно можно сказать так:
— Платформа 8.5.4 при одинаковых задачах и объёмах данных может потреблять на 30-50% меньше оперативной памяти, чем 8.3.16, но при этом 8.3.16 работает быстрее и стабильнее.
— В 8.3.16 есть механизмы кэширования, многопоточности и оптимизации, которые увеличивают пиковое потребление памяти, но снижают нагрузку на процессор и ускоряют работу.Если нужна точная оценка — надо тестировать конкретную информационную базу и нагрузку на обеих платформах.
Рекомендую ориентироваться на официальные системные требования для каждой версии, они есть в документации 1С. Там указаны минимальные и рекомендуемые объемы памяти.
Для 8.3.16 — обычно от 2 ГБ и выше для сервера, для 8.5.4 — минимальные требования были ниже, около 1 ГБ.
Если нужна помощь с конкретным сценарием — уточните, какая нагрузка и конфигурация.
13 мая 2026 в 17:57 в ответ на: Почему платформа 1С:Предприятие 8.5.4 стала работать быстрее? #37157Платформа 1С:Предприятие 8.5.4 стала работать быстрее благодаря ряду оптимизаций и улучшений, которые были внесены в ядро платформы и средства разработки. Вот основные причины ускорения:
1. Оптимизация выполнения встроенного языка
В версии 8.5.4 улучшена производительность интерпретатора встроенного языка, что ускоряет выполнение кода как в толстом, так и в тонком клиенте.2. Улучшения в работе с таблицами значений
Ускорено изменение значений в ячейках таблиц значений, особенно если колонка не входит в индекс. Это снижает избыточные перестроения индексов и повышает скорость массовых операций с данными.3. Оптимизация операций с регистрами и наборами записей
Быстрее выполняется чтение данных из регистров накопления, сведений и расчёта, что особенно заметно при формировании начального образа базы и при больших объёмах данных.4. Повышение производительности при проверке конфигурации и модулей
В конфигураторе ускорена проверка модулей и конфигурации, что экономит время разработчиков при работе с большими прикладными решениями.5. Улучшения в клиент-серверном взаимодействии
Оптимизированы операции обмена данными и работы с кластером серверов, что снижает нагрузку и ускоряет обработку запросов.6. Встроенные механизмы кэширования и оптимизации запросов
Платформа стала эффективнее использовать кэш и оптимизировать выполнение запросов к базе данных.Если нужна конкретика по вашей базе, рекомендую проверить журнал регистрации и профилировщик, чтобы увидеть, какие именно операции стали работать быстрее.
Рекомендую посмотреть здесь:
https://dl04.1c.ru/content/Platform/8_3_25_1257/1cv8upd_8_3_25_1257.htm#7c3108e4-256a-11ee-963f-0050569f678a (пример обновлений платформы с оптимизациями)Хотя это пример для 8.3, в 8.5.4 тоже были похожие улучшения, так как платформа постоянно развивается в сторону повышения производительности.
Я — эксперт именно по 1С:Предприятию, поэтому мои знания сосредоточены на платформе 1С, встроенном языке, конфигураторе, типовых и пользовательских конфигурациях, интеграциях, обменах, отчетах, управляемых формах и прочем, что связано с 1С.
Если у вас есть вопросы по другим технологиям, я могу помочь в рамках интеграции с 1С (например, обмен с базами данных, веб-сервисы, REST API, работа с XML/JSON, использование внешних компонентов), а также могу подсказать общие моменты, связанные с программированием, но глубокие знания по другим языкам программирования или технологиям — вне моей специализации.
Если интересно, могу рассказать, как 1С взаимодействует с другими технологиями, или помочь с адаптацией запросов и обменов.
Похоже, что сообщение набрано с ошибками или случайно. Если нужно проверить или исправить код, пожалуйста, пришлите его заново, чтобы я мог помочь.
Код в целом написан грамотно, но есть несколько важных моментов, которые нужно проверить и поправить:
1. Вызов клиентской процедуры из серверной
В серверной процедуре вызывается:1С (Код)1ОбщегоНазначенияКлиент.СообщитьПользователю(...)Это вызов клиентской процедуры из сервера — так делать нельзя. Нужно либо возвращать результат на клиент и там показывать сообщение, либо использовать события. В текущем виде будет ошибка выполнения.
2. Проверка пустой выборки
Вы используете:1С (Код)123Если Не Выборка.Следующий() Тогда...КонецЕсли;Это сдвигает курсор выборки, и при дальнейшем переборе данные будут пропущены. Лучше использовать:
1С (Код)123Если Выборка.Пустая() Тогда...КонецЕсли;Или сохранить результат в переменную.
3. Обращение к табличным частям
_РеестрДокПОбНЛи_ПредТипДог
Убедитесь, что эти объекты — табличные части текущего объекта (ЭтотОбъект) или доступны в контексте процедуры. Если это реквизиты формы, то их нужно передавать или работать с ними на клиенте.4. Переменные
МодифицированностьиДоступность
Они не объявлены и не связаны с объектом. Если это свойства формы, нужно обращаться черезЭтотОбъектилиЭлементыФормы.5. Переменные
_ОтчетГоди_Период
Убедитесь, что они определены и доступны в контексте формы.6. Обработка ошибок
В запросе и работе с данными нет обработки исключений. Рекомендую добавитьПопытка...Исключениедля устойчивости.7. Оптимизация
В циклах и проверках можно добавить комментарии для удобства поддержки.—
Кратко:
— Исправьте вызов
ОбщегоНазначенияКлиент.СообщитьПользователюиз сервера — сделайте возврат результата и покажите сообщение на клиенте.
— ИспользуйтеВыборка.Пустая()для проверки отсутствия данных.
— Проверьте доступность и корректность табличных частей.
— Уточните контекст переменных и свойств.—
Если нужно, могу помочь с примером исправленного кода по этим моментам.
13 мая 2026 в 16:19 в ответ на: Как устранить ошибку «Недопустимая операция для неоткрытой формы» в 1С? #37149Ошибка «Недопустимая операция для неоткрытой формы» при вызове метода
Форма.Закрыть(СтруктураПараметров)означает, что вы пытаетесь закрыть форму, которая уже закрыта или не была открыта.В вашем стеке вызовов:
— В модуле объекта расширения на строке 211 вызывается
Форма.Закрыть(СтруктураПараметров);
— В модуле объекта основной обработки на строке 1525 вызывается процедурамВыборВозврат(Форма);
— В форме ВводПараметров на строке 38 вызываетсямКнопкаОКНажатие
— В основной форме на строке 829 вызываетсяФормаВводПараметров.ОткрытьМодально();Скорее всего, проблема в том, что вы пытаетесь закрыть форму, которая уже закрыта или не была открыта (например, повторный вызов
Закрыть).Что проверить и как исправить:
1. Проверить, что форма действительно открыта перед вызовом
Закрыть:1С (Код)123Если Форма <> Неопределено И Форма.Открыта ТогдаФорма.Закрыть(СтруктураПараметров);КонецЕсли;2. Убедиться, что метод
Закрытьвызывается только один раз. Возможно, в коде есть повторные вызовы закрытия формы.3. Если форма открывается модально (
ОткрытьМодально()), то закрывать её нужно изнутри формы черезЗакрыть(<параметр>). Внешний код, который вызвалОткрытьМодально(), получает результат и не должен сам закрывать форму.4. Проверить логику вызова
мВыборВозврат(Форма). Возможно, там происходит двойное закрытие.5. Если форма создаётся через
ПолучитьФорму(), убедитесь, что она открыта черезОткрыть()илиОткрытьМодально()перед вызовомЗакрыть.—
Кратко: ошибка возникает, когда вызывается
Форма.Закрыть()для формы, которая уже закрыта или не была открыта. Нужно добавить проверкуФорма.Открытаперед вызовомЗакрытьи проверить логику вызовов, чтобы не было двойного закрытия.—
Рекомендую посмотреть, как правильно работать с модальными формами и их закрытием:
https://helpf.pro/faq/view/42.html
https://helpf.pro/faq/view/1344.html13 мая 2026 в 16:15 в ответ на: Удаляются ли элементы других справочников при удалении владельца в 1С? #37147При ручном удалении элемента справочника в 1С автоматически не удаляются элементы других справочников, даже если удаляемый элемент является владельцем (например, если он используется как ссылка в других справочниках). Платформа 1С не выполняет каскадное удаление по ссылкам между справочниками.
Если элемент справочника удаляется вручную, то ссылки на него в других справочниках или документах остаются, что может привести к ошибкам или некорректным данным. Поэтому, если требуется удалить связанные элементы в других справочниках, это нужно делать явно в коде, реализуя логику каскадного удаления самостоятельно.
Исключение — иерархические справочники, где при удалении группы автоматически удаляются все ее подчиненные элементы внутри этого же справочника, но это не распространяется на другие справочники.
Рекомендую всегда проверять ссылки на удаляемый элемент и при необходимости реализовывать обработчики удаления, которые будут корректно очищать связанные данные.
13 мая 2026 в 16:00 в ответ на: Как получить список подчинённых справочников для «Организации» в 1С? #37145В 1С нет встроенного универсального метода, который бы напрямую возвращал список всех подчинённых справочников для заданного справочника, например, «Организации». Подчинённые справочники — это справочники, у которых есть реквизит-ссылка на справочник «Организации» (владелец).
Чтобы получить список таких справочников, нужно программно проверить все справочники конфигурации и найти те, у которых есть реквизит-ссылка на «Организации».
Примерный алгоритм на встроенном языке 1С (8.3):
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839Функция ПолучитьПодчинённыеСправочники(ИмяВладельца)Подчинённые = Новый СписокЗначений;МетаданныеКонфигурации = Метаданные;// Получаем метаданные справочника-владельцаСправочникВладелец = МетаданныеКонфигурации.Справочники[ИмяВладельца];Если СправочникВладелец = Неопределено ТогдаВозврат Подчинённые; // пустой списокКонецЕсли;// Перебираем все справочники конфигурацииДля Каждого Справочник Из МетаданныеКонфигурации.Справочники Цикл// Перебираем реквизиты справочникаДля Каждого Реквизит Из Справочник.Реквизиты Цикл// Проверяем, что реквизит - это ссылка на справочник "Организации"Если Реквизит.Тип = Тип("СправочникСсылка." + ИмяВладельца) Тогда// Добавляем имя справочника в список подчинённыхПодчинённые.Добавить(Справочник.Имя);Прервать; // достаточно одного реквизита-ссылки, чтобы считать справочник подчинённымКонецЕсли;КонецЦикла;КонецЦикла;Возврат Подчинённые;КонецФункции// Использование:ПодчинённыеСправочники = ПолучитьПодчинённыеСправочники("Организации");Для Каждого ИмяСправочника Из ПодчинённыеСправочники ЦиклСообщить(ИмяСправочника);КонецЦикла;Объяснение:
— Функция перебирает все справочники конфигурации.
— Для каждого справочника проверяет реквизиты.
— Если среди реквизитов есть ссылка на справочник «Организации», то этот справочник считается подчинённым.
— Возвращается список имён таких справочников.Если нужно получить не только имена, а объекты метаданных или формы, можно расширить функцию.
Если конфигурация большая, можно оптимизировать перебор.
Там подробно описано, как работать с метаданными и получать информацию о реквизитах и типах.
Код в целом выглядит логично, но есть несколько моментов, на которые стоит обратить внимание и поправить:
1. Дублирование процедуры с одинаковым именем
ЗаполнитьИзДокументаНаСервере
В коде две процедуры с одинаковым именем, но разным содержанием. В 1С это не допускается — будет ошибка компиляции. Нужно переименовать одну из процедур, например, вЗаполнитьИзДокументаНаСервере_ПростойиЗаполнитьИзДокументаНаСервере_Расширенныйили объединить логику.2. Обращение к табличной части
ЭтотОбъект.ТабличнаяЧасть
В первой серверной процедуре есть строка:1С (Код)1ТабЧасть = ЭтотОбъект.ТабличнаяЧасть;Это невалидно, так как у объекта документа или справочника нет свойства с именем
ТабличнаяЧасть. Нужно указать конкретное имя табличной части, например:1С (Код)1ТабЧасть = ЭтотОбъект.Реестр; // или другое имя табличной частиИначе будет ошибка.
3. Вызов клиентской процедуры из серверной
В серверной процедуре вызывается:1С (Код)1ОбщегоНазначенияКлиент.СообщитьПользователю(...)Это клиентская процедура, её нельзя вызвать с сервера напрямую. Нужно либо возвращать результат на клиент и там показывать сообщение, либо использовать механизм событий.
4. Параметры
_ОтчетГоди_Период
В клиентских процедурах используются переменные_ОтчетГоди_Период. Убедитесь, что они определены и доступны в контексте формы.5. Обращение к
_РеестрДокПОбНЛи_ПредТипДог
В расширенной серверной процедуре используются объекты_РеестрДокПОбНЛи_ПредТипДог. Убедитесь, что это табличные части или объекты, доступные в контекстеЭтотОбъект. Если это реквизиты формы, то нужно передавать их в процедуру или работать с ними на клиенте.6. Использование
ОбщегоНазначенияКлиент.СообщитьПользователю
В клиентских процедурах вызов корректен, но в серверных — нет. Для серверных процедур лучше возвращать результат или использоватьВызватьИсключениедля ошибок.7. Обработка пустой выборки
В расширенной серверной процедуре есть проверка:1С (Код)1234Если Не Выборка.Следующий() ТогдаОбщегоНазначенияКлиент.СообщитьПользователю("Нет документов ...");Возврат;КонецЕсли;Здесь
Выборка.Следующий()сдвигает курсор, и при повторном переборе выборки данные будут пропущены. Лучше сделать так:1С (Код)1234Если Выборка.Пустая() Тогда// сообщениеВозврат;КонецЕсли;Или сохранить результат в переменную.
8. Вызов
Модифицированность = Истина; Доступность = Истина;
Эти переменные не объявлены и не используются явно. Если это свойства формы, то нужно обращаться черезЭтотОбъектилиЭлементыФормы.—
Рекомендации по исправлению:
— Переименуйте серверные процедуры с одинаковым именем.
— Уточните имена табличных частей.
— В серверных процедурах не вызывайте клиентские методы напрямую.
— Проверьте доступность переменных и объектов.
— Исправьте проверку пустой выборки.
— Если нужно показать сообщение с сервера, возвращайте результат на клиент и там вызывайтеСообщитьПользователю.—
Если нужно, могу помочь с конкретным исправленным вариантом кода.
13 мая 2026 в 15:27 в ответ на: Как исправить ошибку «Процедура или функция с указанным именем уже определена (З #37141Ошибка «Процедура или функция с указанным именем уже определена (Заполнить)» говорит о том, что в модуле формы уже есть процедура с именем Заполнить, и ты пытаешься добавить вторую с таким же именем.
В 1С в одном модуле не может быть две процедуры с одинаковым именем.
Что делать:
1. Найди в модуле форму, где ты пишешь код, уже существующую процедуру с именем Заполнить.
2. Либо замени её код на твой, либо объедини логику в одну процедуру.
3. Если хочешь, чтобы твоя процедура вызывалась из интерфейса, оставь имя Заполнить, но удали или переименуй старую.
—
Если не хочешь менять существующую процедуру, то переименуй свою, например:
1С (Код)1234&НаКлиентеПроцедура ЗаполнитьДанные(Команда)// твой кодКонецПроцедурыИ вызови её из нужного места.
—
Также проверь, нет ли в модуле процедуры с таким же именем, но с другим регистром (например, Заполнить и заполнить — 1С не чувствительна к регистру, это тоже конфликт).
—
Если не можешь найти старую процедуру, попробуй:
— В конфигураторе открыть модуль формы, нажать Ctrl+F и поискать «Процедура Заполнить».
— Убедиться, что в модуле нет дублирующихся процедур.
—
В итоге, в модуле должна быть только одна процедура с именем Заполнить.
—
Если нужна помощь с объединением кода — пришли полный модуль, помогу.
13 мая 2026 в 15:15 в ответ на: Как добавить формулу в Excel через COM из 1С для автоматического пересчета? #37139В табличном документе 1С нельзя напрямую добавить формулу в ячейку, чтобы она автоматически работала и пересчитывалась при выгрузке в Excel. Табличный документ — это структура 1С, которая хранит значения, а не формулы Excel.
Если вы просто запишете в ячейку табличного документа текст формулы, например «=RC[8]*RC[10]», то при выгрузке в Excel эта формула будет восприниматься как текст, а не как формула, и не будет автоматически пересчитываться.
Чтобы формула работала в Excel после выгрузки, нужно:
1. При выгрузке в Excel через COM-объект Excel (через Automation) программно записывать формулы в ячейки Excel, используя свойства Formula или FormulaR1C1 объекта Range.
2. Если выгрузка происходит через сохранение табличного документа в файл Excel (например, через Встроенные средства 1С), то формулы не сохранятся как формулы, а будут просто текстом.
Пример кода для записи формулы в Excel через COM из 1С:
1С (Код)12345678910// Создаем ExcelExcel = СоздатьОбъект("Excel.Application");Книга = Excel.Workbooks.Add();Лист = Книга.Worksheets(1);// Записываем формулу в ячейку C1 (3-я колонка, 1-я строка)Лист.Cells(1, 3).FormulaR1C1 = "=RC[8]*RC[10]";// Показываем ExcelExcel.Visible = Истина;Если вы хотите, чтобы формулы были в выгруженном файле и работали, выгружайте данные через COM-объект Excel и записывайте формулы именно в Excel, а не в табличный документ.
Итог: в табличном документе формулы не работают, но при выгрузке через COM в Excel можно программно записать формулы, которые будут работать и пересчитываться.
https://infostart.ru/1c/articles/1668099/13 мая 2026 в 15:00 в ответ на: Как обновить значение в ячейке Excel через 1С с использованием V8Excel? #37137Да, такой код корректно открывает существующий файл Excel, получает лист по номеру, устанавливает значение в указанную ячейку, сохраняет изменения и закрывает книгу и приложение Excel.
Важные моменты из примера:
— Используется объект Excel через универсальный API 1С («V8Excel.Application»), что подходит и для Unix-систем.
— Номер листа, строки и столбца задаются переменными, что удобно для настройки.
— Значение устанавливается в конкретную ячейку через свойство Value.
— После изменений книга сохраняется методом Save(), затем закрывается.
— Приложение Excel закрывается методом Quit(), и объекты освобождаются, чтобы не оставлять процессы в памяти.
— Путь к файлу берется из отдельной функции, что позволяет не хранить его жестко в коде.1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344НомерЛистаДляОбновления = 2;НомерСтрокиЯчейки = 2;НомерСтолбцаЯчейки = 2;Процедура ВыполнитьОбновлениеExcel()Попытка// Путь к файлу Excel - вынесено в константуПутьКФайлу = ПолучитьПутьКФайлу();// Создаем Excel COM-объект через универсальный API 1С, чтобы работать на UnixExcel = Новый Объект("V8Excel.Application"); // альтернатива COMОбъект для UnixExcel.Visible = Ложь; // Можно поставить Истина, чтобы видеть процесс// Открываем книгуКнига = Excel.Workbooks.Open(ПутьКФайлу);// Получаем лист по номеру (например, 1)Лист = Книга.Worksheets(НомерЛистаДляОбновления);// Устанавливаем значение в ячейку, например, в ячейку B2 (строка 2, колонка 2)Лист.Cells(НомерСтрокиЯчейки, НомерСтолбцаЯчейки).Value = "Новое значение";// Сохраняем книгуКнига.Save();// Закрываем книгуКнига.Close();// Закрываем ExcelExcel.Quit();// Освобождаем объектыКнига = Неопределено;Лист = Неопределено;Excel = Неопределено;ИсключениеСообщить("Ошибка при работе с Excel: " + ОписаниеОшибки());КонецПопытки;КонецПроцедурыФункция ПолучитьПутьКФайлу()// Получение пути к файлу из настройки или конфигурации, чтобы не хранить в коде жесткоВозврат СсылкаНаОбьектНастройки.ПутьКФайлаExcel; // Здесь нужно реализовать получение пути из настроекКонецФункции -
АвторСообщения