1С 8.3 Отправка почты с преобразованием табличного документа в PDF
Данные > Примеры кода 1С > 1С 8.3 PDF
Перейти в раздел примеры кода 1С 8.3:
Требуется БСП. Функция ОтправитьПочтовоеСообщение.
Отправить письмо с преобразованием табличного документа в PDF из 1С 8.3: (Автор: Эльдaр Мингалиeв)
Функция ОтправитьТаблДокПоЭлПочтеКакPDF(УчетнаяПочтыОтправителя, ПочтаПолучателя, ТекстПисьма, ТемаПисьма,
АдресТаблДокВоВремХранилище, АдресФайлаВоВременномХранилище)
ПисьмоОтправлено = Ложь;
Если УчетнаяПочтыОтправителя = Неопределено Или УчетнаяПочтыОтправителя.Пустая() Тогда
Возврат ПисьмоОтправлено;
КонецЕсли;
ТаблДок = ПолучитьИзВременногоХранилища(АдресФайлаВоВременномХранилище);
ПотокФайла = Новый ПотокВПамяти();
ТаблДок.Записать(ПотокФайла, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные();
ВременноеХранилищеФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, Новый УникальныйИдентификатор);
Вложения = Новый Массив;
ОписаниеВложения = Новый Структура("Представление, АдресВоВременномХранилище",
ТекстПисьма + ".pdf", ВременноеХранилищеФайла);
Вложения.Добавить(ОписаниеВложения);
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", ПочтаПолучателя);
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
ПараметрыПисьма.Вставить("Вложения", Вложения);
Попытка
Идентификатор = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяПочтыОтправителя, ПараметрыПисьма);
Если ЗначениеЗаполнено(Идентификатор) Тогда
ПисьмоОтправлено = Истина;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Неудачная попытка отправки письма на "
+ ПочтаПолучателя, УровеньЖурналаРегистрации.Ошибка,,,ОписаниеОшибки());
КонецПопытки;
Возврат ПисьмоОтправлено;
КонецФункции
АдресТаблДокВоВремХранилище, АдресФайлаВоВременномХранилище)
ПисьмоОтправлено = Ложь;
Если УчетнаяПочтыОтправителя = Неопределено Или УчетнаяПочтыОтправителя.Пустая() Тогда
Возврат ПисьмоОтправлено;
КонецЕсли;
ТаблДок = ПолучитьИзВременногоХранилища(АдресФайлаВоВременномХранилище);
ПотокФайла = Новый ПотокВПамяти();
ТаблДок.Записать(ПотокФайла, ТипФайлаТабличногоДокумента.PDF);
ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные();
ВременноеХранилищеФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, Новый УникальныйИдентификатор);
Вложения = Новый Массив;
ОписаниеВложения = Новый Структура("Представление, АдресВоВременномХранилище",
ТекстПисьма + ".pdf", ВременноеХранилищеФайла);
Вложения.Добавить(ОписаниеВложения);
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", ПочтаПолучателя);
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
ПараметрыПисьма.Вставить("Вложения", Вложения);
Попытка
Идентификатор = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяПочтыОтправителя, ПараметрыПисьма);
Если ЗначениеЗаполнено(Идентификатор) Тогда
ПисьмоОтправлено = Истина;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("Неудачная попытка отправки письма на "
+ ПочтаПолучателя, УровеньЖурналаРегистрации.Ошибка,,,ОписаниеОшибки());
КонецПопытки;
Возврат ПисьмоОтправлено;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник