Расширение. HTTP сервис для 1С УНФ который возвращается печатную форму счета с печатью и подписью

https://www.fl.ru/projects/5503011/rasshirenie-http-servis-dlya-1s-unf-kotoryiy-vozvraschaetsya-pechatnuyu-formu-scheta-s-pechatyu-i-podpisyu.html

У нас есть HTTP сервис для 1С УНФ который возвращает PDF печатную форму. Но проблема в том, что форма генерируется без печати и подписи. Необходимо доработать что бы была печать и подпись. Код генерации печатной формы приведен для Заказа покупателя. Но для нас актуально это в принципе и для Заказа покупателя и для счета.

Функция ПолучитьФайлЗаказаПолучитФайлЗаказа(Запрос) УстановитьПривилегированныйРежим(Истина);

НомерЗаказа = Запрос.ПараметрыЗапроса.Получить("salesOrderCode"); ВыбЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру(СокрЛП(НомерЗаказа),ТекущаяДата()); Если ВыбЗаказ.Ссылка.Пустая() Тогда ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ОтветСтруктура = Новый Структура; ОтветСтруктура.Вставить("status", false); ОтветСтруктура.Вставить("Description", "Заказ с номером "+НомерЗаказа+" не найден в БД!"); ЗаписатьJSON(ЗаписьJSON, ОтветСтруктура); СтрокаJSON = ЗаписьJSON.Закрыть(); Ответ = Новый HTTPСервисОтвет(200); Ответ.Заголовки.Вставить("Content-type", "application/json;charset=utf-8"); Ответ.УстановитьТелоИзСтроки(СтрокаJSON); УстановитьПривилегированныйРежим(Ложь); Возврат Ответ; КонецЕсли;

КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ЗаказПокупателя"); ПараметрыВывода       = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); ОбъектыПечатиСчета = Новый СписокЗначений; МассивОбъектов = Новый Массив; МассивОбъектов.Добавить(ВыбЗаказ.ПолучитьОбъект().Ссылка);

Документы.ЗаказПокупателя.Печать(МассивОбъектов,ПараметрыВывода,КоллекцияПечатныхФорм,ОбъектыПечатиС чета,ПараметрыВывода);

СтрЗаказ                 = КоллекцияПечатныхФорм[0]; ТабЗаказ          = СтрЗаказ.ТабличныйДокумент; ВремФайлЗаказа           = ПолучитьИмяВременногоФайла("pdf"); ТабЗаказ.Записать(ВремФайлЗаказа,ТипФайлаТабличногоДокумента.PDF);

order_name = "order_print_form";

Данные = Новый ДвоичныеДанные(ВремФайлЗаказа); // Ответ = Новый HTTPСервисОтвет(200); Ответ.Заголовки["Content-Type"] = "application/pdf"; Ответ.Заголовки["Content-Disposition"] = "attachment; filename=""" + order_name + ".pdf"""; Ответ.Заголовки["Cache-Control"] = "private"; Ответ.УстановитьТелоИзДвоичныхДанных(Данные); Возврат Ответ;

КонецФункции