Отчет требует настройки в конфигураторе !
Предыстория:
Как то в некой организации появилось положение что каждому сотруднику нужно отправить по e-mail Расчетный листок, и до формирования тек. отчета это делалась след. образом, листки формировались и копировались в письма(ms outlook). В организации более 100 сотр.
И вот тут поступила задача решить эту проблемму, и было придумано простое решение.
Как это работает:
Каждый Листок в Табличном документе который на форме, оконтовывался текстом
{начало}
Расчетный лист
{конец}
эти признаки вставлялись в макет в нужных местах соответственно в начало и конец РЛ
при нажатии по кнопке "Отправить По Почте"
1С пробегалась по Результирующему документу и выбирала Расчетные листы по этим признакам, каждый расчетный лист копировался в отдельный Табличный документ который сохранялся на диске, после этого из физлица сотрудника брался e-mail в контактной информации и по этому e-mail этот файл отправлялся, после нормальной отправки файл удаляется и в файл лога заносится строка такой то РЛ отправлен по такому то адресу.
Что отправить не удалось выводится в окне сообщений и в папочке куда сохраняются РЛ этот файл остается.
Настройка:
Открыть в конфигураторе
перейти в модуль основной формы "ФормаОтчета"
найти там в конце функцию
функция ОтправитьПоПочтеРС(Сотр, Файл, ТекстПисьма)
и настроить соединение с почтовым сервером
//Настройки отправки почты
Профиль.АдресСервераPOP3 = "127.0.0.1";//Адрес сервера POP3
Профиль.ПортPOP3 = 110; //Порт POP3
Профиль.АдресСервераSMTP = "127.0.0.1";//Адрес сервера SMTP
Профиль.ПортSMTP = 25; //Порт SMTP
Профиль.Пользователь = "admin@localhost.ru"; //Пользователь POP3
Профиль.Пароль = "password"; //Пароль поп3
Профиль.ПользовательSMTP = "admin@localhost.ru"; //Пользователь SMTP
Профиль.ПарольSMTP = "password"; //Пароль SMTP
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Почта = Новый ИнтернетПочта;
// Создадим почтовое сообщение
Письмо = Новый ИнтернетПочтовоеСообщение;
Текст = Письмо.Тексты.Добавить(ТекстПисьма);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Письмо.Тема = ТекстПисьма;
Письмо.Отправитель = "admin@localhost.ru"; //Адрес отправителя (можно указать любой но определенные почтари отбросят если он несоответствует Профиль.ПользовательSMTP
Письмо.УведомитьОДоставке = Истина; //В ложь если ненадо уведомление о доставки
Письмо.ИмяОтправителя = "Admin"; //Имя отправителя можно написать например Бухгалтерия
На Диске C где работает клиент нужно создать папку "РС" , соответственно без кавычек, или поменять путь сохранения РЛ и лога в Отчете в процедуре, просто найти и изменить выделенные строки
Процедура ОтправитьПоПочтеНажатие(Элемент)
//путь куда сохраняются РЛ его можно поменять, если оставить как есть
//то незабудте создать папку на диске C: папка РС
ИмяФайла = "C:\РС\" + ОтдФайл;
//Запишем в лог на тек. дату что отправили рл по такому то адресу
//Путь должен присутствовать в данном случае это c:\РС
_ФайлЛога = "C:\РС\Отпр_Письма_" + формат(ТекущаяДата(), "ДФ=dd_MM_yyyy") + ".txt";