Отправка документов по электронной почте

1. user1599296 08.12.21 13:18 Сейчас в теме
Добрый день,
прошу помощи, пожалуйста не ругайтесь сильно , работаю четвертый месяц.
Дописываю внешнюю обработку. Задача следущая: реализовать печать и отправку по почте заполненного макета документа. Добавила на форму обработку группу кнопок "Печать" и "Отправка по почте". Кнопка "Печать" отрабатывает, все ок.
Не могу реализовать отправку по почте. Проверьте код пожалуйста.
Ругается на "Значение не является объектного типа Записать". Либо объект приходит пустым.

&НаКлиенте
Процедура Печать(Команда,Массив,ТабДок)
    ТабДок = Новый ТабличныйДокумент;
    Массив = Новый Массив; 
    Для каждого ИдентификаторСтроки из  Элементы.СнятиеМаяков.ВыделенныеСтроки Цикл
        Массив.Добавить(Элементы.СнятиеМаяков.ДанныеСтроки(ИдентификаторСтроки));     
    КонецЦикла;
    ПечатьНаСервере(ТабДок,Массив);
    ТабДок.Показать("Макет");
КонецПроцедуры


&НаСервере
Функция СформироватьПараметрыПисьма(АдресаКоторымОтправляемПисьма,ТабДок)
    
    ФайлВФорматеPDF = ПолучитьИмяВременногоФайла(".PDF");
    ТабДок.Записать(ФайлВФорматеPDF, ТипФайлаТабличногоДокумента.PDF);
    Вложения = Новый Соответствие;
    Вложения.Вставить(" Заявление ООО "  " +"от "+ Формат(текущаяДата(),"ДФ=dd.MM.yyyy")+".pdf", ФайлВФорматеPDF);
        
    УчетнаяЗапись    = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
    ПараметрыПисьма = Новый Структура;
    ПараметрыПисьма.Вставить("Кому", АдресаКоторымОтправляемПисьма);  
    ПараметрыПисьма.Вставить("УчетнаяЗапись", УчетнаяЗапись);                                                               
    ПараметрыПисьма.Вставить("Тема", "Заявление ООО """"Лизинг трейд""");    
    ПараметрыПисьма.Вставить("Тело", "");
    ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
    ПараметрыПисьма.Вставить("Вложения", Вложения);
    
    Возврат ПараметрыПисьма;
    
КонецФункции


&НаКлиенте
Процедура ОтправитьПоПочте(Команда,ТабДок,Массив)
    
    АдресаКоторымОтправляемПисьма = "l@trade.ru";
       ПараметрыПисьма = СформироватьПараметрыПисьма(АдресаКоторымОтправляемПисьма,ТабДок);
    Попытка    
        ОтправитьПоПочтеНаСервере(ПараметрыПисьма);
    Исключение    
        Сообщить("Не удалось отправить письма по причине " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

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


&НаСервере
Процедура ПечатьНаСервере(ТабДок,Массив)
    Обработка =  РеквизитФормыВЗначение("Объект");
    Макет = Обработка.ПолучитьМакет("Макет");
    //Область = Макет.ПолучитьОбласть("О");
    //Таб.Вывести(Область);
    Область = Макет.ПолучитьОбласть("Основа");
    Область.Параметры.Дата= Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy");
    ТабДок.Вывести(Область);
    Область = Макет.ПолучитьОбласть("СтрокаТаблицы");
    ТабДок.Вывести(Область);
    Область = Макет.ПолучитьОбласть("Таблица");
    Индекс = 0;
    Количество=Массив.Количество();
         Пока индекс < Количество  цикл
        Область.Параметры.Пр = Массив[индекс].Предмет;
        Область.Параметры.ВИН = Массив[индекс].ПредметВИН;
        Индекс = Индекс+1;
        ТабДок.Вывести(Область);
    КонецЦикла;
          
    Область = Макет.ПолучитьОбласть("Подвал");
    ТабДок.Вывести(Область);
        
КонецПроцедуры;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kolesonik 15 08.12.21 15:21 Сейчас в теме
У меня лично вызывают вопросы параметры процедуры отправитьПоПочте
3. user1599296 09.12.21 08:37 Сейчас в теме
(2)Подскажите , пожалуйста, а что именно смущает?
4. Kolesonik 15 09.12.21 10:03 Сейчас в теме
(3)ОтправитьПоПочте() это кнопка на форме? верно? .Интересно что там за табДок и массив? в параметрах
5. user1599296 09.12.21 10:59 Сейчас в теме
(4) Кнопка на форме, верно.
Если вы про эту процедуру : Массива в параметрах быть не должно, ТабДок - это сформированный документ, который нужно отправить.

&НаКлиенте
Процедура ОтправитьПоПочте(Команда,ТабДок,Массив)
    
    АдресаКоторымОтправляемПисьма = "l@trade.ru";
       ПараметрыПисьма = СформироватьПараметрыПисьма(АдресаКоторымОтправляемПисьма,ТабДок);
    Попытка    
        ОтправитьПоПочтеНаСервере(ПараметрыПисьма);
    Исключение    
        Сообщить("Не удалось отправить письма по причине " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры
Показать
Оставьте свое сообщение

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