Редактировал(а) HRlink 21.08.2024

Последние авторы
1 Для механизма пакетной печати внешней печатной формы реализован функционал работы с кастомными печатными формами с вариантом вызова **ОткрытиеФормы**.
2
3 По наблюдениям, такой вариант запуска используется для выбора пользователем перед формированием документа каких-либо дополнительных параметров, а также в случае формирования офисного документа, используя механизм replace, замещающего параметры в шаблоне на значения, полученные из базы 1с.
4
5 Основная идея: выбранные клиентские печатные формы вызываются из формы пакетной печати HR-Link последовательно, ожидая закрытия предыдущей открытой клиентской формы. Также клиентской форме в параметрах открытия передается стандартный параметр **ОбъектыНазначения**(Массив, содержащий элементы, для которых выполняется формирование документов). После завершения формирования документа следует сформировать определенную структуру данных и передать ее в качестве параметра закрытия формы методу **ЭтаФорма.Закрыть()**. Таким образом эти данные будут возвращена обработчику формы-владельца (**ОписаниеОповещенияОЗакрытии**).
6
7 Возвращаемые данные представляют собой Массив, элементами которого являются Структуры с набором из трех перечисленных полей:
8
9 **СсылкаНаОбъект** – ссылка на объект базы 1с, Справочник или Документ, к которому будет присоединен сформированный кастомной печатной формой документ;
10
11 **ИмяФайла** – имя файла, которое будет использовано для присоединения к объекту;
12
13 **АдресВХ / ДвоичныеДанные / ПутьКФайлу** – можно использовать любой из этих ключей:
14
15 **АдресВХ** – адрес временного хранилища, содержащего двоичные данные сформированного файла. Следует иметь в виду, что если адрес временного хранилища связан с уникальным идентификатором формы обработки, то он будет очищен при закрытии этой формы.
16
17 **ДвоичныеДанные** – двоичные данные сформированного файла
18
19 **ПутьКФайлу** – полный путь к сформированному файлу на клиенте
20
21 Все перечисленные значения в том или ином виде присутствуют в кастомной печатной форме в процессе ее выполнения на разных этапах формирования документа, поэтому собрать из них такой набор данных не должно составить особых сложностей.
22
23 Далее пакетная печать печатной формы HR-Link обработает полученные данные, отработает ранее реализованный механизм формирования печатных форм с вариантом исполнения **ВызовСерверногоМетода**, если они были выбраны пользователем, и присоединит все полученные данные к соответствующим объектам.
24
25 Для лучшего понимания предлагаемого решения реализован тестовый пример внешней печатной формы с обоими вариантами команд печати (**ВызовСерверногоМетода**, **ОткрытиеФормы**), реализующий формирование word-документа на сервере без установленного там Microsoft Word, а при вызове его клиентской командой открытия формы – собирающий описанный ранее набор возвращаемых данных в клиентской форме методом формы Закрыть().
26
27 Пример функционала ВПФ можно скачать [[здесь>>url:https://b24.hrlk.ru/~~iQ58m]]