Требуется обязательно заполнить организацию, дату, выбрать язык акта сверки(На выбор два - RU, ENG).
По нажатию кнопки "Сформировать", формируется таблица на форме, слева в таблице можно выставить признак какому контрагенту нужно отправлять акты сверки, какому не нужно(можно проставить всем признак, можно всем убрать):
В колонке "Акт сверки" указан путь к временному файлу в папке «C:\Users\ИмяПользователяWindows\AppData\Local\Temp\». При выставлении признака "Сформировать по всем" формируется список по всем контрагентам на дату даже если не было оборотов.
В обработке требуется доработать процедуру ОтправитьНажатие, чтобы указать данные почтового сервера для отправки:
Процедура ОтправитьНажатие(Элемент)
Если ОтмеченныеКонтрагенты.Количество() = 0 Тогда
Сообщить("Не отмечен ни один Контрагент!");
Иначе
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "";
Профиль.ПарольSMTP = "";
Профиль.ПользовательSMTP = "";
//Профиль.ПортSMTP = ;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
ТекстОтправки = "Акт сверки";
Для Каждого Сотр Из ОтмеченныеКонтрагенты Цикл
Почта = Новый ИнтернетПочта;
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Тема = "Акт сверки" + формат(ТекущаяДата(),"ДЛФ=DD");
Письмо.Отправитель = "";
Письмо.ИмяОтправителя = "";
Письмо.Получатели.Добавить(Сотр.Ключ.EMail); //Сотр.Ключ.EMail
Письмо.Вложения.Добавить(Сотр.Ключ.АктСверки,"Ошибки загрузки");
Текст = Письмо.Тексты.Добавить(ТекстОтправки);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Попытка
Почта.Подключиться(Профиль);
Почта.Послать(Письмо);
Исключение
ЗаписьЖурналаРегистрации("Не удалось подключиться к серверу для отправки почты." + ОписаниеОшибки(),УровеньЖурналаРегистрации.Ошибка);;
КонецПопытки;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Проверено на редакции 1.6 (1.6.42.5).