Сформировать выбранные внешние печатные формы через другую обработку.

1. user1254147 09.03.20 09:38 Сейчас в теме
Есть внешняя обработка, через которую надо по выбранным сотрудникам сформировать выбранные внешние печатные формы (реализованные в виде шаблонов word) и сохранять их на диске.

Не могу ума дать как можно формировать такие шаблоны через другую обработку и сохранять их... Так же процедура "Печать" находится не в модуля обработки, а в форме.

Пробовал через:
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = Отч.ПечатнаяФорма.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
ФормаПФ = ВнешниеОбработки.Создать(ИмяФайла,Ложь);
ФормаПФ.СсылкаНаОбъект = СтрСотрудник.Получатель;
ФормаПФ.ПолучитьФорму().Открыть();
УдалитьФайлы(ИмяФайла);

но ругается на интерактивность.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 09.03.20 11:02 Сейчас в теме
Скорее всего, придется изменить обработку, которая формирует word-документ. Перед тем как показать word-документ, обработка должна его сформировать в экспортной функции в качестве результата, чтобы его можно было использовать программно из другой обработки.
Сначала нужно определиться, "сохранять на диске" требуется на сервере или на клиенте?
3. user1254147 09.03.20 16:28 Сейчас в теме
(2) Сохранять надо на клиенте.
word-документ во внешних обработках открывается и заполняется через Replace.Execute(). Получается что все формирование надо перенести в модуль объекта?

Мне на самом деле нужно так, по выбранным внешним печатным формам сформировались doc файлы, сохранились на диск и список адресов где хранятся сформированные документы.
4. SlavaKron 10.03.20 10:19 Сейчас в теме
(3)
Получается что все формирование надо перенести в модуль объекта

Необязательно. Если формирование документа происходит на клиенте в модуле формы обработки, то всё должно начинаться на клиенте. С клиента отправляемся на сервер чтобы подключить внешнюю обработку и получить ее имя. На клиенте получаем форму обработки, используя полученное имя. Вызываем экспортную функцию модуля формы, которая возвращает сформированный word-документ, а потом делаем с ним что нам надо. Примеров как программно сохранить word-документ уйма.
5. user1254147 12.03.20 20:12 Сейчас в теме
Уже разобрался. Подключаю форму внешней обработки, и уже вызываю необходимую экспортную процедуру, получаю адрес где хранится сформированный word шаблон

ИмяОбработки = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ПФ.ПечатнаяФорма);
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма",,ЭтаФорма);
АдресГотовогоШаблона = ФормаОбработки.Печать(Неопределено, ОбъектыПечати, Истина);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот