Пример использования функции отправки почты из БСП и преобразования табличного документа в pdf без использования временных файлов. Требуется заполненная системная учетная запись в справочнике УчетныеЗаписиЭлектроннойПочты
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
Функция ОтправитьТабличныйДокументЭлектроннойПочтойКакPDF(УчетнаяЗаписьПочтыОтправителя, ПочтаПолучателя, ТекстПисьма, ТемаПисьма, АдресТабличногоДокументаВоВременномХранилище) Отправлено = Ложь; Если УчетнаяЗаписьПочтыОтправителя = Неопределено Или УчетнаяЗаписьПочтыОтправителя.Пустая() Тогда Возврат Отправлено; КонецЕсли; ТабДок = ПолучитьИзВременногоХранилища(АдресФайлаВоВременномХранилище); ПотокФайла = Новый ПотокВПамяти(); ТабДок.Записать(ПотокФайла, ТипФайлаТабличногоДокумента.PDF); ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные(); ВременноеХранилищеФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, Новый УникальныйИдентификатор); Вложения = Новый Массив; ОписаниеВложения = Новый Структура("Представление, АдресВоВременномХранилище", ТекстПисьма + ".pdf", ВременноеХранилищеФайла); Вложения.Добавить(ОписаниеВложения); ПараметрыПисьма = Новый Структура; ПараметрыПисьма.Вставить("Кому", ПочтаПолучателя); ПараметрыПисьма.Вставить("Тема", ТемаПисьма); ПараметрыПисьма.Вставить("Тело", ТекстПисьма); ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст"); ПараметрыПисьма.Вставить("Вложения", Вложения); Попытка Идентификатор = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗаписьПочтыОтправителя, ПараметрыПисьма); Если ЗначениеЗаполнено(Идентификатор) Тогда Отправлено = Истина; КонецЕсли; Исключение ЗаписьЖурналаРегистрации("Отправка письма " + ПочтаПолучателя, УровеньЖурналаРегистрации.Ошибка,,,ОписаниеОшибки()); КонецПопытки; Возврат Отправлено; КонецФункции |