БП 30 сформировать счета для отправки по email на клиенте

1. one_strannik 1 20.05.23 15:55 Сейчас в теме
Всем доброго дня!
Имеется клиент-серверная база 1С БП 30, типовая, актуальная. Сервер 1С на Linux.
Имеется обработка по групповой отправке счетов контрагентам на email, фрагмент кода ниже:
Функция отправитьПисьма()
        тз = Объект.ТабЧасть.Выгрузить();	
        Для каждого стр  Из тз  Цикл
	     адресПолучателя = стр.АдресЭП;
	     ТемаСообщения = Объект.ТемаПисьма;
	     ХТМЛТекст= Объект.ТекстПисьма;
	     Ссылка = Стр.Ссылка ;
	     КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетПокупателю");
	     ОбъектыПечати = Новый СписокЗначений;
	     ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
	     МассивОбъектов = Новый Массив();
	     МассивОбъектов.Добавить(Ссылка); // Сюда нужно передать ссылку документ "Счет на оплату", который вы создаете
	     ПараметрыПечати = Новый Структура;
	     Обработки.ПечатьСчетаНаОплату.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
	     ТабДок = КоллекцияПечатныхФорм[0].ТабличныйДокумент;
             ВыбранноеИмяФайла = ПолучитьИмяВременногоФайла("pdf");
	     ВыбФайл = Новый Файл(ВыбранноеИмяФайла);
	     табдок.Записать (ВыбФайл, ТипФайлаТабличногоДокумента.pdf);
             текДанные = новый ДвоичныеДанные(ВыбФайл);
             АдресВоВременномХранилище = ПоместитьВоВременноеХранилище (текДанные);
             ИмяФайла=ВыбФайл.Имя;
             Вложение = Новый Соответствие;
	     Вложение.Вставить(ИмяФайла,текДанные);
	     ПараметрыОтправки = Новый Структура;
	     ПараметрыОтправки.Вставить ("Кому", АдресПолучателя);
	     ПараметрыОтправки.Вставить ("Тема", ТемаСообщения);
	     ПараметрыОтправки.Вставить ("Тело", ХТМЛТекст);
	     ПараметрыОтправки.Вставить ("Вложения", Вложение);
	     ПараметрыОтправки.Вставить ("ТипТекста", Перечисления.ТипыТекстовЭлектронныхПисем.HTML);

	     УчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
	          РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение (УчетнаяЗапись, ПараметрыОтправки);
	КонецЦикла; 
	Сообщить("Счета отправлены");		
КонецФункции 

&НаКлиенте
Процедура отправить(Команда)
	 отправитьПисьма();
КонецПроцедуры

Показать


На файловых базах отрабатывает без ошибок, на клиент-серверных возникает ошибка доступа к файлу. Просьба подсказать, как можно переделать формирование печатной формы и запись ее (тип файла PDF) на клиенте с последующей передачей на сервер для отправки сообщений. Или какие еще можно использовать варианты для этой задачи.
Заранее всем спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1936670 21.05.23 14:03 Сейчас в теме
(1)
ВыбФайл = Новый Файл(ВыбранноеИмяФайла);
табдок.Записать (ВыбФайл, ТипФайлаТабличногоДокумента.pdf);
текДанные = новый ДвоичныеДанные(ВыбФайл);


Я сильно сомневаюсь, что это "на файловых базах отрабатывает без ошибок"
3. one_strannik 1 21.05.23 14:40 Сейчас в теме
(2) отрабатывает, письма рассылаются
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот