0
sergqwert
03.09.20
✎
20:21
|
Как сформировать макет в БП 3.0?
&НаКлиенте
Функция СформироватьПараметрыПисьма(Строка)
ПараметрыПисьма = Новый Структура;
Если ЗначениеЗаполнено(Строка.Адрес) Тогда
ПараметрыПисьма.Вставить("Кому", Строка.Адрес);
КонецЕсли;
Если ЗначениеЗаполнено(АдресОтвета) Тогда
ПараметрыПисьма.Вставить("АдресОтвета", АдресОтвета);
КонецЕсли;
Если ЗначениеЗаполнено(ТемаПисьма) Тогда
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
КонецЕсли;
ТекстПисьма = "";
ВложенияРисунки = Новый Структура;
ТелоПисьма.ПолучитьHTML(ТекстПисьма, ВложенияРисунки);
Если ЗначениеЗаполнено(ТекстПисьма) Тогда
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "HTML");
КонецЕсли;
Если Не Строка.АдресВоВременномХранилище = "" Тогда
Результат = Новый Массив;
ОписаниеВложения = Новый Структура;
ОписаниеВложения.Вставить("Представление", Строка.Представление);
ОписаниеВложения.Вставить("АдресВоВременномХранилище", Строка.АдресВоВременномХранилище);
ОписаниеВложения.Вставить("Кодировка", Строка.Кодировка);
Результат.Добавить(ОписаниеВложения);
ПараметрыПисьма.Вставить("Вложения", Вложения(Строка.СчетНаОплату));
КонецЕсли;
Возврат ПараметрыПисьма;
КонецФункции
&НаСервере
Функция Вложения(ДокументСсылка)
Результат = Новый Массив;
ПараметрыИсточника = Новый Структура;
ПараметрыИсточника.Вставить("ИдентификаторКоманды", "СчетНаОплату");
ОбъектыНазначения = Новый Массив;
ОбъектыНазначения.Добавить(ДокументСсылка);
ПараметрыИсточника.Вставить("ОбъектыНазначения", ОбъектыНазначения);
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПараметрыИсточника.ИдентификаторКоманды);
ОбъектыПечати = Новый СписокЗначений;
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
??? МакетФайла = СформироватьМакетСчета(ПараметрыИсточника.ОбъектыНазначения,ОбъектыПечати, Истина, Истина);
ОписаниеВложения = Новый Структура;
ИмяФайла = ПолучитьИмяВременногоФайла("pdf");
МакетФайла.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
ОписаниеВложения.Вставить("Представление", ОбщегоНазначенияБПВызовСервера.СформироватьЗаголовокДокумента(ДокументСсылка, "Счет на оплату")+ ".pdf" );
ОписаниеВложения.Вставить("АдресВоВременномХранилище", ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла)));
ОписаниеВложения.Вставить("Кодировка", "");
ОписаниеВложения.Вставить("Идентификатор", "");
Результат.Добавить(ОписаниеВложения);
Возврат Результат;
КонецФункции
|
|