При разработке и доработке внешних печатных форм (ВПФ) на управляемых формах в платформе «1С:Предприятие 8.3» часто возникает вопрос: где находится модуль объекта и как получить к нему доступ. Разберем по шагам, как открыть модуль объекта в Конфигураторе, какие особенности существуют при работе с внешними обработками и почему созданный файл может открываться пустым окном в режиме «1С:Предприятие».
Для доступа к коду внешней обработки или отчета проанализируем основные способы открытия модуля объекта в окне редактирования метаданных:
Рассмотри важные нюансы, с которыми сталкиваются разработчики при создании внешних печатных форм на управляемых формах:
Выбор типа объекта: Для создания печатных форм с использованием механизмов Библиотеки Стандартных Подсистем (БСП) необходимо использовать тип «Внешняя обработка» (файл с расширением .epf), а не внешний отчет (.erf).
Отсутствие модуля менеджера: Во внешних отчетах и обработках отсутствует модуль менеджера. Весь программный код, включая процедуры формирования печатных форм и вспомогательный функционал, располагается в модуле объекта.
Обязательные экспортные методы в модуле объекта: Для корректной регистрации и работы печатной формы в системе БСП в модуле объекта обязательно должны быть реализованы следующие процедуры и функции:
1. Функция СведенияОВнешнейОбработке() — возвращает структуру с параметрами регистрации ВПФ (вид обработки, версия, наименование, список команд и назначаемые документы).
Посмотрим на пример базовой структуры функции регистрации:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиВызовСервера.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Наименование = "Внешняя печатная форма";
ПараметрыРегистрации.БезопасныйРежим = Истина;
// Добавление команды печати
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Печать формы";
Команда.Идентификатор = "ПечатьФормы";
Команда.Использование = ДополнительныеОтчетыИОбработкиВызовСервера.ВариантЗапускаОбработкиВызовСерверногоМетода();
Возврат ПараметрыРегистрации;
КонецФункции
2. Процедура Печать() — формирует и выводит печатную форму во временное хранилище или табличный документ.
Процедура Печать(МассивОбъектовНазначения, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
// Код формирования табличного документа и заполнения макета
КонецПроцедуры
Выясним причину ситуации, когда при открытии файла обработки через меню «Файл» → «Открыть» в режиме «1С:Предприятие» появляется пустое окно без элементов управления:
ДополнительныеОтчетыИОбработки и вызываются из командной панели соответствующих документов.Проанализируем удобные способы тестирования и отладки кода внешней обработки:
Отладка через вспомогательную форму: Чтобы не перезагружать файл обработки в справочник при каждом изменении кода, добавим во внешнюю обработку временную управляемую форму. На ней разместим реквизит с типом нужного документа (например, СсылкаНаОбъект) и кнопку, вызывающую процедуру печати напрямую.
Особенности отладки в БСП: При вызове зарегистрированной внешней обработки механизмы БСП считывают двоичные данные из базы и исполняют код из временного хранилища. Чтобы точки останова в файле .epf на диске срабатывали корректно, необходимо включить режим отладки внешних обработок в настройках БСП или константах системы.