Расширение. HTTP сервис для 1С УНФ который возвращается печатную форму счета с печатью и подписью
У нас есть 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"; Ответ.УстановитьТелоИзДвоичныхДанных(Данные); Возврат Ответ;
КонецФункции