1С. Функционал работы с кастомными печатными формами с вариантом вызова ОткрытиеФормы

Последние изменения: 06.02.2024

Для механизма пакетной печати внешней печатной формы реализован функционал работы с кастомными печатными формами с вариантом вызова ОткрытиеФормы.

По наблюдениям, такой вариант запуска используется для выбора пользователем перед формированием документа каких-либо дополнительных параметров, а также в случае формирования офисного документа, используя механизм replace, замещающего параметры в шаблоне на значения, полученные из базы 1с.

Основная идея: выбранные клиентские печатные формы вызываются из формы пакетной печати HR-Link последовательно, ожидая закрытия предыдущей открытой клиентской формы. Также клиентской форме в параметрах открытия передается стандартный параметр ОбъектыНазначения (Массив, содержащий элементы, для которых выполняется формирование документов). После завершения формирования документа следует сформировать определенную структуру данных и передать ее в качестве параметра закрытия формы методу ЭтаФорма.Закрыть(). Таким образом эти данные будут возвращена обработчику формы-владельца (ОписаниеОповещенияОЗакрытии).

Возвращаемые данные представляют собой Массив, элементами которого являются Структуры с набором из трех перечисленных полей:

СсылкаНаОбъект – ссылка на объект базы 1с, Справочник или Документ, к которому будет присоединен сформированный кастомной печатной формой документ;

ИмяФайла – имя файла, которое будет использовано для присоединения к объекту;

АдресВХ / ДвоичныеДанные / ПутьКФайлу – можно использовать любой из этих ключей:

АдресВХ – адрес временного хранилища, содержащего двоичные данные сформированного файла. Следует иметь в виду, что если адрес временного хранилища связан с уникальным идентификатором формы обработки, то он будет очищен при закрытии этой формы.

ДвоичныеДанные – двоичные данные сформированного файла

ПутьКФайлу – полный путь к сформированному файлу на клиенте

Все перечисленные значения в том или ином виде присутствуют в кастомной печатной форме в процессе ее выполнения на разных этапах формирования документа, поэтому собрать из них такой набор данных не должно составить особых сложностей.

Далее пакетная печать печатной формы HR-Link обработает полученные данные, отработает ранее реализованный механизм формирования печатных форм с вариантом исполнения ВызовСерверногоМетода, если они были выбраны пользователем, и присоединит все полученные данные к соответствующим объектам.

Для лучшего понимания предлагаемого решения реализован тестовый пример внешней печатной формы с обоими вариантами команд печати (ВызовСерверногоМетода, ОткрытиеФормы), реализующий формирование word-документа на сервере без установленного там Microsoft Word, а при вызове его клиентской командой открытия формы – собирающий описанный ранее набор возвращаемых данных в клиентской форме методом формы Закрыть().

Пример функционала ВПФ можно скачать здесь

Помогла ли вам статья?