Блог

Отладка дополнительных обработок 1С

Для доработки типовых конфигураций 1С, разработанных на основе 1С:БСП, часто используются дополнительные отчеты и обработки.
С помощью дополнительных обработок можно, к примеру, разработать внешнюю печатную форму для документа, не внося изменений в основную конфигурацию 1С.
Работает это так:
  • разработчик создает внешнюю обработку, создает макет печатной формы:
  • затем в модуле объекта внешней обработки описывает служебную функцию СведенияОВнешнейОбработке() и описывает алгоритм формирования печатной формы в процедуре Печать():
  • после этого внешнюю обработку нужно добавить в справочник "Дополнительные отчеты и обработки":
В результате в формах документа появляется команда печати:
Но каждый программист 1С рано или поздно сталкивается с проблемой отладки дополнительных отчетов и обработок:
Без отладки в 1С достаточно трудно быстро понять из-за чего возникает ошибка в коде, либо почему результат выполнения кода не такой, как ожидалось.
Проблема с отладкой дополнительных отчетов и обработок в 1С связана с особенностью работы механизма дополнительных отчетов и обработок.
Когда пользователь выполняет команду печати, которая связана с дополнительной обработкой, сначала происходит помещение двоичных данных файла обработки во временной хранилище, после чего выполняется подключение внешней обработки, используя полученный адрес данных во временном хранилище. А затем создается экземпляр объекта обработки и вызывается соответствующий метод (в случае печатной формы - Печать()).
Т.е. обработка, помещенная во временное хранилище (именно она подключается для последующего выполнения метода объекта), и обработка, которую мы открываем в конфигураторе - это две разные обработки. Поэтому и не срабатывает точка останова в модуле объекта обработки, открытой в конфигураторе.
Чтобы выполнить отладку дополнительной обработки можно выполнить небольшую доработку типовой конфигурацию: вместо подключения обработки из временного хранилища, подключать обработку, которая находится в определенном каталоге на сервере 1С.
Изменения нужно внести в общий модуль ДополнительныеОтчетыИОбработки в функцию ПодключитьВнешнююОбработку():
Доработать эту функцию лучше всего с помощью расширения конфигурации, для того чтобы конфигурация оставалась на поддержке.
Предлагаем воспользоваться нашим расширением "IRONSKILLS: Отладка дополнительных обработок".
Скачать расширение можно по ссылке.
Как с ним работать:
1. Подключить расширение. Снять флаги "Безопасный режим" и "Защита от опасных действий":
2. В режиме 1С:Предприятие открыть форму "Отладка дополнительных обработок (БСП)", выбрать из справочника дополнительную обработку (или отчет), затем нажать на кнопку "Включить отладку" и выбрать каталог на сервере 1С, в котором будет сохранен файл внешней обработки:
После этого внешний вид формы изменится:

3. Можно приступать к отладке. Открываем в конфигураторе файл внешней обработки, сохраненный на предыдущем шаге:
Выполняем отладку привычным способом:
4. Сохраняем изменения в файле внешней обработки и выключаем отладку:
5. Обновляем обработку в справочнике "Дополнительные отчеты и обработки"
Пример отладки дополнительной обработки в типовой конфигурации 1С:Управление торговлей 11 смотрите на нашем YouTube-канале (поддержите нас лайком и комментарием😉):
Подписывайтесь на нас в соц. сетях:
Telegram: https://t.me/ironskills_community1c
VK: https://vk.com/ironskillsby
Instagram: https://www.instagram.com/ironskills_school/
2024-01-19 10:21 Программирование