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

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 14 08.12.21 15:21 Сейчас в теме
У меня лично вызывают вопросы параметры процедуры отправитьПоПочте
3. user1599296 09.12.21 08:37 Сейчас в теме
(2)Подскажите , пожалуйста, а что именно смущает?
4. Kolesonik 14 09.12.21 10:03 Сейчас в теме
(3)ОтправитьПоПочте() это кнопка на форме? верно? .Интересно что там за табДок и массив? в параметрах
5. user1599296 09.12.21 10:59 Сейчас в теме
(4) Кнопка на форме, верно.
Если вы про эту процедуру : Массива в параметрах быть не должно, ТабДок - это сформированный документ, который нужно отправить.

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

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