Добавить внешнюю печатную форму в обработку
Добрый день, в УТ есть обработка "УправлениеПоступлением" в ней присутствует стандартная кнопка печати для документов "Приходный ордер на товары", которые расположены в динамическом списке "ОрдераВРаботе", мне нужно чтобы в списке выбора печати в обработке "УправлениеПоступлением" была видна моя внешняя печатная форма, каким образом можно её добавить? Для самого документа я добавил внешнюю печатную форму, форме списка и документа всё работает
По теме из базы знаний
- Для тех, кто еще не знает, как добавить внешнюю печатную форму!
- Комплект внешних печатных форм для Управление торговлей 11.5 и 11.4: Универсальный передаточный документ (УПД), Счет-фактура выданный, ТОРГ-12, счет на оплату
- Как добавить внешнюю печатную форму в типовую конфигурацию Управление торговлей 3.0 для Украины
- Сверка взаиморасчетов для 1С: ERP, Комплексная автоматизация (внешняя печатная форма)
- Комплект внешних печатных форм для 1С:Комплексная автоматизация 2.5: ТОРГ-12, Счет-фактура, счет на оплату, универсальный передаточный документ (УПД)
Найденные решения
(1)Я сделал через расширение, в модуле менеджера обработки "УправлениеПоступлением" в процедуре "ДобавитьКомандыПечати" добавил свою команду печати
далее в модуле менеджера документа "ПриходныйОрдерНаТовары" в процедуре "Печать" добавил следующий код
После этого всё заработало.
&После("ДобавитьКомандыПечати")
Процедура Расш1_ДобавитьКомандыПечати(КомандыПечати)
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Документ.ПриходныйОрдерНаТовары";
КомандаПечати.Идентификатор = "ЗаданиеНаОтборРазмещение";
КомандаПечати.Представление = НСтр("ru = 'Задание на отбор'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.МестоРазмещения = "ПодменюПечать";
ТипыОбъектовПечати = Новый Массив;
ТипыОбъектовПечати.Добавить(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"));
КомандаПечати.ТипыОбъектовПечати = ТипыОбъектовПечати;
КонецПроцедуры
Показатьдалее в модуле менеджера документа "ПриходныйОрдерНаТовары" в процедуре "Печать" добавил следующий код
&После("Печать")
Процедура Расш1_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаданиеНаОтборРазмещение") Тогда
ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Задание на отбор");
Если ВнешняяОбработка.Пустая() Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ЗаданиеНаОтборРазмещение",
НСтр("ru = 'Задание на отбор"),
Новый ТабличныйДокумент);
Возврат;
КонецЕсли;
ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла, Ложь);
ТабДок = ВнешняяОбработка.СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ЗаданиеНаОтборРазмещение",
НСтр("ru = 'Задание на отбор'"),
ТабДок);
КонецЕсли;
КонецПроцедуры
ПоказатьПосле этого всё заработало.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Я сделал через расширение, в модуле менеджера обработки "УправлениеПоступлением" в процедуре "ДобавитьКомандыПечати" добавил свою команду печати
далее в модуле менеджера документа "ПриходныйОрдерНаТовары" в процедуре "Печать" добавил следующий код
После этого всё заработало.
&После("ДобавитьКомандыПечати")
Процедура Расш1_ДобавитьКомандыПечати(КомандыПечати)
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "Документ.ПриходныйОрдерНаТовары";
КомандаПечати.Идентификатор = "ЗаданиеНаОтборРазмещение";
КомандаПечати.Представление = НСтр("ru = 'Задание на отбор'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
КомандаПечати.МестоРазмещения = "ПодменюПечать";
ТипыОбъектовПечати = Новый Массив;
ТипыОбъектовПечати.Добавить(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"));
КомандаПечати.ТипыОбъектовПечати = ТипыОбъектовПечати;
КонецПроцедуры
Показатьдалее в модуле менеджера документа "ПриходныйОрдерНаТовары" в процедуре "Печать" добавил следующий код
&После("Печать")
Процедура Расш1_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаданиеНаОтборРазмещение") Тогда
ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Задание на отбор");
Если ВнешняяОбработка.Пустая() Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ЗаданиеНаОтборРазмещение",
НСтр("ru = 'Задание на отбор"),
Новый ТабличныйДокумент);
Возврат;
КонецЕсли;
ДвоичныеДанные = ВнешняяОбработка.ХранилищеОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла, Ложь);
ТабДок = ВнешняяОбработка.СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ЗаданиеНаОтборРазмещение",
НСтр("ru = 'Задание на отбор'"),
ТабДок);
КонецЕсли;
КонецПроцедуры
ПоказатьПосле этого всё заработало.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот