|
Печать внешней печатной формы из внешней обработки (управляемые формы) |
☑ |
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) Остался вопрос как: как вызывать эту обработку из документа.
Можно конечно в расширении кнопку с действием нарисовать, но проще через заполнить ТЧ вызывать.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший