Тема отладки дополнительных отчетов и обработок поднимается среди 1С программистов регулярно. Проблема состоит в том, что если обработка/отчет добавлены в справочник дополнительных (внешних) отчетов и обработок, то их отладка сопровождается определенными неудобствами:
- т.к. обработка хранится в конфигурации внутри элемента справочника, то ее невозможно открыть в конфигураторе, без выгрузки на диск
- но открытый в конфигураторе выгруженный файл будет лишь копией обработки, сохраненной в справочнике, и установленные в ней точки останова не сработают
- до недавнего времени, конфигурации 1С при запуске доп. обработок предварительно сохраняли их во временный файл. Таким образом была возможность перейти к отладке обработки, принудительно вызвав в ней исключение. Но в последних версиях конфигураций обработки запускаются непосредственно, минуя временный файл (за исключением случая толстого клиента), что не позволяет использовать этот метод
- в принципе, можно запустить конфигурацию в толстом клиенте и попытаться выполнить отладку во временно файле, но часто работа в толстом клиенте конфигураций на УФ сопровождается глюками или различием в поведении с тонким клиентом
- также можно добавить в обработку специальную. отладочную форму, и выполнять отладку, запустив обработку из меню файл -> открыть. Но такой способ неудобен для отладки печатных форм и обработок заполнения/создания связанных объектов, т.к. невозможно контролировать передачу параметров
Данный механизм позволяет обойти указанные проблемы - для каждой обработки, которая будет отлаживаться в спец. регистре указывается файл с этой обработкой на диске. При включении режима отладки, можно спокойно открывать этот файл в конфигураторе и расставлять точки останова, которые сработают, независимо от способа запуска обработки.
Также имеется дополнительный плюс - не требуется после каждого изменения отлаживаемой обработки заново загружать ее в справочник доп. обработок. Меняем обработку, и сразу запускаем ее в базе. После отключения отладки следует загрузить в справочник финальную версию.
Из минусов данного механизма - естественно необходимость менять конфигурацию. Но эти изменения сводятся только к добавлению нескольких объектов в конфигурацию (подсистема, общий модуль, регистр сведений и две команды), и эти добавления не ломают процесс обновления.
1. Подключение
- Сделайте резервную копию
- Включите возможность изменения конфигурации. (Если ранее этого не сделали).
- Включите возможность изменения с сохранением поддержки самой конфигурации (Опять же, если ранее не делали)
- Запустите объединение со скаченным .cf файлом и подтвердите постановку на поддержку
- В окне объединения снимите общую галочку конфигурации
- Выберите "Действия" -> "Отметить по подсистемам файла"
- Выберите только подсистему "LSOFT_ОтладкаВнешнихОбработок" и нажмите "Установить"
- Выполните объединение и обновите ИБ
- База готова к использованию
2. Использование
В меню разделов появляется новая подсистема (LSOFT) . В ней доступны команды включения/отключения отладки и список обработок для отладки.
В списке обработок для каждой дополнительной обработки, которую вы собираетесь отлаживать необходимо:
- выбрать саму обработку из справочника дополнительных обработок/отчетов. Именно эта обработка будет отлаживаться
- поставить галочку активности отладки. Если галочку снять - отладка для данной конкретной обработки будет недоступна.
- указать пользователя, который будет выполнять отладку. Если пользователь указан - то отладка выполняется только под выбранным пользователем, остальные пользователи ничего не замечают. если пользователь не выбран - отладка выполняется под любым пользователем.
- указать путь к файлу обработки на диске. При активности отладки, обработка будет загружена именно из этого файла. Сохраненый вариант обработки из справочника дополнительных отчетов и обработок игнорируется.
Сам процесс отладки:
- добавляем обработку/отчет в дополнительные отчеты и обработки. Это может быть обработка абсолютно любого вида, включая обработки заполнения, связанных объектов или внешние печатные формы
- заполняем настройки отладки в списке обработок для отладки
- включаем возможность отладки
- открываем в конфигураторе файл, указанный в настройке отладки для данной обработки
- устанавливаем произвольные точки останова в конфигураторе
- в ИБ запускаем нужный нам отчет/обработку подходящим для его/ее типа образом
Внимание, на сегодняшний день данная публикация является устаревшей, т.к. не работает с БСП версии 2.4 и старше. Новый вариант этого же механизма, но в форме расширения доступен в публикации Отладка дополнительных отчетов и обработок (расширение)