Имя: Пароль:
1C
1С v8
Печать внешней печатной формы из внешней обработки (управляемые формы)
0 BenDiget
 
16.11.22
19:53
Друзья, стоит задача Создать обработку в ЗУП 3, из которой можно было бы сразу печатать много внешних печатных форм (договора, доп соглашения, согласия). И чтобы код отрабатывал, как у внешней печатной формы, прикрепленной к документу. Короче: ТабДок.Показать() с Клиента - не канает.
Что делаю:
1. Получаю объект "внешней печатной формы" из модуля формы &НаСервере "внешней обработки".
2. Вызываю экспортную процедуру печать:
ВнешняяПечФорма.Печать();
3. Код в шаблоне "внешней печатной формы" процедуры Печать():
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", "Шаблон внешней печатной формы", ТабДок());

И чего с этим дальше делать? Ну вывел ТабДок в коллекцию, мне то надо напечатать.

Мне надо отработать именно тем кодом, который печатает "внешние печатные формы", прикрепленные к документу. Так как планируется передача формы в 1С Кабинет сотрудника
1 BenDiget
 
16.11.22
20:11
Мне надо как бы передать в правильное место команду печати с параметрами, и там уже чтобы типовой код отработал.
Вот это правильное место не могу найти (((
2 Мимохожий Однако
 
16.11.22
20:42
Возьми примеры в базе БСП Демо.
3 Гений 1С
 
гуру
16.11.22
20:51
4 РусКомп
 
16.11.22
21:39
Сделать обработку заполнения ТЧ, она откроет форму, а уже с формы печатать.
5 BenDiget
 
17.11.22
13:32
Ребят - сделал так, ниже код, который запускается из внешней обработки, получая формы печати из других внешних обработок, там же заполняя ТАБ док. А вывод на печать из первой обработки:
&НаКлиенте
Процедура Пуск(Команда)
    
    ОбъектыПечати = Новый СписокЗначений;
    
    КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ПечатьКадровыхДокументовТест");
    ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "ПечатьКадровыхДокументовТест");
    ПечатнаяФорма.СинонимМакета = "ПечатьКадровыхДокументовТест";
    ПечатнаяФорма.ИмяФайлаПечатнойФормы = "ПечатьКадровыхДокументовТест";
    
    //Получим табдокумент, заодно заполним "Объектыпечати"
    ПечатнаяФорма.ТабличныйДокумент = ТабДок(ОбъектыПечати);
    
    КлючУникальности = Строка(Новый УникальныйИдентификатор);
    
    ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати");
    ПараметрыОткрытия.ПараметрКоманды = Новый Массив;
    ПараметрыОткрытия.ПараметрыПечати = Новый Структура("ЗаголовокФормы", "Предложение: ");
    ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
    ПараметрыОткрытия.Вставить("ИменаМакетов", "ПечатьКадровыхДокументовТест");
    ПараметрыОткрытия.Вставить("ОбъектыПечати", ОбъектыПечати);
    
    ДополнитьПараметрыОткрытияНаСервере(ПараметрыОткрытия);
    
  
    ФормаПечати = ПолучитьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, , КлючУникальности);
    ФормаПечати.Открыть();    
    
КонецПроцедуры
6 РусКомп
 
17.11.22
14:20
(5) Остался вопрос как: как вызывать эту обработку из документа.

Можно конечно в расширении кнопку с действием нарисовать, но проще через заполнить ТЧ вызывать.