Печатная форма
Конфигурация БП 3.0. Задача через через http-сервис получить печатную форму акта выполненных работ в pdf на сайте
Создал тестовую печатную форму, всё работает:
Но нужна стандартная печатная форма, как её поместить в ТабДок?
Создал тестовую печатную форму, всё работает:
Функция GetActGetActInfo(Запрос)
УН = Запрос.ПараметрыURL["Guid"];
ДокументРеализация = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(УН)));
ТабДок = Новый ТабличныйДокумент;
Документы.РеализацияТоваровУслуг.ПечатьТемп(ТабДок, ДокументРеализация.Ссылка);
ИмяФайла = ПолучитьИмяВременногоФайла("pdf");
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
ДанныеФайла = Новый ДвоичныеДанные(ИмяФайла);
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type", "application/pdf; charset=utf-8");
Ответ.УстановитьТелоИзДвоичныхДанных(ДанныеФайла);
Возврат Ответ;
КонецФункции
ПоказатьНо нужна стандартная печатная форма, как её поместить в ТабДок?
Функция GetActGetActInfo(Запрос)
УН = Запрос.ПараметрыURL["Guid"];
ДокументРеализация = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(Новый УникальныйИдентификатор(СокрЛП(УН)));
МассивДокумента = Новый Массив();
МассивДокумента.Добавить(ДокументРеализация);
ПараметрыПечати = Новый Структура;
КоллекцияПечатныхФормДокумента = Новый ТаблицаЗначений;
КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяВРЕГ");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяМакета");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("ИмяФайлаПечатнойФормы");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("Картинка");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("Экземпляров");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("ПолныйПутьКМакету");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("СинонимМакета");
КоллекцияПечатныхФормДокумента.Колонки.Добавить("ТабличныйДокумент");
КоллекцияПечатныхФормДокументаСтрока = КоллекцияПечатныхФормДокумента.Добавить();
КоллекцияПечатныхФормДокументаСтрока.ИмяВРЕГ = "Акт";
КоллекцияПечатныхФормДокументаСтрока.ИмяМакета = "Акт";
КоллекцияПечатныхФормДокументаСтрока.Экземпляров = 1;
ОбъектыПечатиДокумента = Новый СписокЗначений;
ПараметрыВывода = новый Структура("ДоступнаПечатьПоКомплектно,ПараметрыОтправки");
ПараметрыВывода.ПараметрыОтправки = Новый Структура("Получатель,Текст,Тема");
ТабДок = Новый ТабличныйДокумент;
Документы.РеализацияТоваровУслуг.Печать(МассивДокумента, ПараметрыПечати, КоллекцияПечатныхФормДокумента, ОбъектыПечатиДокумента, ПараметрыВывода);
ИмяФайла = ПолучитьИмяВременногоФайла("pdf");
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
ДанныеФайла = Новый ДвоичныеДанные(ИмяФайла);
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type", "application/pdf; charset=utf-8");
Ответ.УстановитьТелоИзДвоичныхДанных(ДанныеФайла);
Возврат Ответ;
КонецФункции
ПоказатьПо теме из базы знаний
- Использование отчета как печатной формы документа
- Внешние печатные формы по кадровым документам и зарплате в БП 3.0
- Печатная форма М-15 для документа Реализация услуг по переработке для конфигурации (БП 3.0)
- Печатная форма Cчет с QR кодом и УПД с QR кодом для УТ 10.3, УПП 1.3. УТ 11.5 и 11.4, КА 2.5, ERP 2.5, Бухгалтерия 3, Розница 3, УНФ 3 + отключение печати QR
- Внешняя печатная форма в формате Word (.docx, .doc) с помощью средств БСП
Найденные решения
Процедура СоздатьАктНаСервере()
Контрагент = Справочники.Контрагенты.НайтиПоКоду("00-000091");
Док = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("Контрагент", Контрагент);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
ОбъектыПечати = Новый СписокЗначений;
СтруктураПараметровПечати = Новый Структура;
СтруктураПараметровПечати.Вставить("ВидДокументаПечати", "РеализацияТоваровУслуг");
СтруктураПараметровПечати.Вставить("ИмяПараметровПечати", "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт");
СтруктураПараметровПечати.Вставить("ИмяМакетаПечати", "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт");
ОбъектыТипа = Док;
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ОбъектыТипа);
ТаблицаСведенийАктаОбОказанииУслуг = МенеджерОбъекта.ПолучитьТаблицуСведенийАктаОбОказанииУслуг(Док);
ТабДок = ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, ОбъектыПечати, СтруктураПараметровПечати);
// Вот тут формируется сам табличный документ
ТабДок.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПрисоединенныйФайл = ПрисоединенныеФайлы.ДобавитьФайл(Док, "Акт_Тест", "pdf", , , адресВХранилище);
УдалитьФайлы(ИмяВременногоФайла);
Сообщить(" Готово" + Док);
КонецПроцедуры
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Документы.РеализацияТоваровУслуг.Печать(МассивДокумента, ПараметрыПечати, КоллекцияПечатныхФормДокумента, ОбъектыПечатиДокумента, ПараметрыВывода);
Это доступ к процедуре печати документа, где есть и Торг 12 и акт. Какой документ тебе нужен?
Я делал так, ТабДок присваивал стандартную команду под нужный документ. Если мы говорит о БП 3.0, то они находятся в общем модуле ПечатьТорговыхДокументов. Нужно вытянуть оттуда нужную команду и передать в нее параметры. Плюс нужно получить менеджер объекта документа реализации, поскольку данные для формирования получаются из документа. Через два часа буду в офисе и могу скинуть рабочий пример кода.
Процедура СоздатьАктНаСервере()
Контрагент = Справочники.Контрагенты.НайтиПоКоду("00-000091");
Док = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("Контрагент", Контрагент);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
ОбъектыПечати = Новый СписокЗначений;
СтруктураПараметровПечати = Новый Структура;
СтруктураПараметровПечати.Вставить("ВидДокументаПечати", "РеализацияТоваровУслуг");
СтруктураПараметровПечати.Вставить("ИмяПараметровПечати", "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт");
СтруктураПараметровПечати.Вставить("ИмяМакетаПечати", "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт");
ОбъектыТипа = Док;
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ОбъектыТипа);
ТаблицаСведенийАктаОбОказанииУслуг = МенеджерОбъекта.ПолучитьТаблицуСведенийАктаОбОказанииУслуг(Док);
ТабДок = ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, ОбъектыПечати, СтруктураПараметровПечати);
// Вот тут формируется сам табличный документ
ТабДок.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
АдресВХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
ПрисоединенныйФайл = ПрисоединенныеФайлы.ДобавитьФайл(Док, "Акт_Тест", "pdf", , , адресВХранилище);
УдалитьФайлы(ИмяВременногоФайла);
Сообщить(" Готово" + Док);
КонецПроцедуры
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)