Исходный код вики Работа с кастомными печатными формами
Редактировал(а) HRlink 21.08.2024
Последние авторы
author | version | line-number | content |
---|---|---|---|
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]] |