Массовая Рассылка

Новая тема
Показывать по сообщений
1с8.3, конфигурация самописная, дописываю обработку для массовой рассылки сообщений, письма отправляются корректным адресатам, но почему-то из процедуры формирования письма передается только тема, которая вылезает и вместо текста сообщения, вложение так же отсутствует, помогите пожалуйста найти косяки..

Процедура отправки:


Процедура ОтправитьНажатие()
      КоличествоСтрок = ЭлементыФормы.ВыбДилеры.Значение.Количество();
      Если КоличествоСтрок <> 0 тогда
            Для каждого строкаТаблицы из ВыбДилеры цикл
            ВыбФайл="";
            КонецЦикла;
      КонецЕсли;
            Для каждого строкаТаблицы из ВыбФайлы цикл
      Если Выбфайл=0 тогда
                   ВыбФайл=ВыбФайл+";";
                   Выбфайл=ВыбФайл+ВыбФайлы.Путь;
      КонецЕсли;
      КонецЦикла;
            
      ТемаОтправки=ТемаПисьма;
      ФайлТекстаСообщения=ТекстПисьма;
      фс=ВыбФайл;
      
      глОтправитьОтчетПоПочте(ФайлТекстаСообщения,ВыбДилер,ТемаОтправки,0,ВыбФайл,2);
КонецПроцедуры



Процедура почтового клиента:


Процедура глОтправитьПисьмоДиллерам(ТаблицаОтправки,Получатель,ТемаПисьма,Сообщения=1,ТелоПисьма="",ТипПисьма=0) Экспорт    
//      
//      если ТипЗначенияСтр(ТаблицаОтправки)="Таблица" Тогда
      Если ТипЗнч(ТаблицаОтправки)=Тип("ТабличныйДокумент") или ТипЗнч(ТаблицаОтправки)=Тип("ПолеТабличногоДокумента") тогда
//            ИмяФайла=КаталогПользователя()+"Отчет"+СтрЗаменить(СокрЛП(ТекущаяДата()),".","")+"_"+СтрЗаменить(СокрЛП(ТекущееВремя()),":","")+".xls";
            ИмяФайла=КаталогВременныхФайлов()+"Отчет"+Формат(ТекущаяДата(),"ДФ=""ддммгггг'_'ЧЧммсс""")+".xls";
//            ТаблицаОтправки.Записать(ИмяФайла,1);
            ТаблицаОтправки.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS);
      //иначеесли ТипЗначенияСтр(ТаблицаОтправки)="Строка" тогда
      ИначеЕсли ТипЗнч(ТаблицаОтправки)=Тип("Строка") тогда
//            поз=Найти(ТаблицаОтправки,";");
            поз=СтрНайти(ТаблицаОтправки,";");
            ИмяФайла=Новый Массив;//"";
            
            пока поз<>0 цикл
                  тестфайла=Лев(ТаблицаОтправки,поз-1);
                  фс=Новый Файл(тестфайла);
//                  если фс.СуществуетФайл(тестфайла)=1 тогда
                  Если фс.Существует() тогда
                  //      если Пустоезначение(ИмяФайла)=0 тогда
                  //            ИмяФайла=ИмяФайла+";";      
                  //      конецесли;
                  //      ИмяФайла=ИмяФайла+тестфайла;
                        ИмяФайла.Добавить(фс);
                  конецесли;
                  ТаблицаОтправки=Сред(ТаблицаОтправки,поз+1);
                  поз=Найти(ТаблицаОтправки,";");
            конеццикла;
//
            фс=Новый Файл(ТаблицаОтправки);
//            если фс.СуществуетФайл(ТаблицаОтправки)=1 тогда
            Если фс.Существует() тогда
                  //если Пустоезначение(ИмяФайла)=0 тогда
                  //      ИмяФайла=ИмяФайла+";";      
                  //конецесли;
                  //ИмяФайла=ИмяФайла+ТаблицаОтправки;
                  ИмяФайла.Добавить(фс);
            конецесли;
      иначе
            ИмяФайла="";      
      конецесли;
//      
      АдресЭл=Константы.ЭлПочта.Получить();
      Профиль=Новый ИнтернетПочтовыйПрофиль;
      Профиль.АдресСервераSMTP=АдресЭл.Сервер;
      Профиль.АдресСервераPOP3=АдресЭл.Сервер;
      Профиль.Таймаут=60;
      Профиль.ПортSMTP=?(НЕ ЗначениеЗаполнено(АдресЭл.Порт),"25",Строка(АдресЭл.Порт));
      Профиль.ПортPOP3=110;
      Профиль.ПользовательSMTP=АдресЭл.Логин;
      Профиль.ПарольSMTP=АдресЭл.Пароль;
      Профиль.Пользователь=АдресЭл.Логин;
      Профиль.Пароль=АдресЭл.Пароль;
      Профиль.АутентификацияSMTP=СпособSMTPАутентификации.Login;
      Сообщение=Новый ИнтернетПочтовоеСообщение;
      Сообщение.Отправитель=АдресЭл.АдресОтправителя;
      Сообщение.ИмяОтправителя=АдресЭл.Отправитель;
      Сообщение.Получатели.Добавить(СокрЛП(Получатель.ЭлПочта));
      Сообщение.Тема=ТемаПисьма;
      Если НЕ ЗначениеЗаполнено(ТелоПисьма) тогда
            Сообщение.Тексты.Добавить(ТемаПисьма,ТипТекстаПочтовогоСообщения.ПростойТекст);
      ИначеЕсли лев(ТелоПисьма,5)="file:" тогда
      //      ВК.ЗагрузитьИзФайла(СокрЛП(сред(ТелоПисьма,6)));
            ТекстСообщения="";
          ФайлТекстаСообщения=Новый ТекстовыйДокумент;
            ФайлТекстаСообщения.Прочитать(СокрЛП(сред(ТелоПисьма,6)));
            ТекстСообщения=ФайлТекстаСообщения.ПолучитьТекст();
            Сообщение.Тексты.Добавить(ТекстСообщения,ТипТекстаПочтовогоСообщения.HTML);
            
      Иначе
            Сообщение.Тексты.Добавить(ТелоПисьма,ТипТекстаПочтовогоСообщения.ПростойТекст);
      КонецЕсли;
      Если ТипЗНЧ(ИмяФайла)=Тип("Строка") и ЗначениеЗаполнено(ИмяФайла) тогда
            ФайлСообщения=Новый Файл(ИмяФайла);
            Сообщение.Вложения.Добавить(ИмяФайла,ФайлСообщения.Имя);
      ИначеЕсли ТипЗнч(ИмяФайла)=Тип("Массив") тогда
            Для каждого МЗнач из ИмяФайла Цикл
                  Сообщение.Вложения.Добавить(ИмяФайла.ПолноеИмя,ИмяФайла.Имя);
            КонецЦикла;      
      КонецЕсли;      
      Почта=Новый ИнтернетПочта;
      Попытка
            Почта.Подключиться(Профиль);
      Исключение
            Сообщить("Ошибка отправки файла: "+ИмяФайла);
            Сообщить(ОписаниеОшибки());
            Возврат;
      КонецПопытки;
      Попытка
            Почта.Послать(Сообщение,ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,ПротоколИнтернетПочты.SMTP);
            //СообщенияОтправки=Почта.Послать(Сообщение,ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,ПротоколИнтернетПочты.SMTP);
      Исключение
            Сообщить(Получатель.ЭлПочта);
            Сообщить(ОписаниеОшибки());
      КонецПопытки;
      УдалитьФайлы("file:G :\ Bases2\Balance.htm");
      Сообщить(Получатель.Наименование);
      Сообщить(ТемаПисьма);
      Почта.Отключиться();

КонецПроцедуры  
Может проще интегрировать "Работу с почтовыми сообщениями" из БСП чем самокат изобретать?
Ответили: пост #3
Ответ на пост №2
Денис (САМАРА), Ну как бы уже решение практически готово, обидно бросать его не оконченным..
Цитата
Ну как бы уже решение практически готово
Судя по коду, г..но полное, если честно.
Чем богаты тому рады....Процедуру глотправитьотчетпопочте не я писал, потому не могу вьехать что к чему, но она многофункцианальная, и под мои цели подходит.
Ответили: пост #6
Ответ на пост №5
Илья Привалов, судя по всему из 7.7 переносили.
Ответили: пост #7
Ответ на пост №6
Prikum, Так и есть, вот рассылку осталось перенести.
Ответили: пост #8
Ответ на пост №7
Илья Привалов, когда пишешь ответ, то в окне есть пиктограмма "<...>", если ее нажать и ввести туда свой код, то он будет выглядеть в более читаемом виде, а разбираться в той мешанине что выложил не очень охотно.
Ответили: пост #9
Ответ на пост №8
Prikum, Я понял, спасибо, Вот код в виде читаемом) Проблем в обработке оказалось много, если выбрана группа целиком и из нее в таблицу отправки перенесены несколько человек пишет ошибку о неверном адресе элПочты, если же каждого выбрать по отдельности то письмо отправляется не каждому контрагенту из списка, а только одному, то количество раз, сколько строк в таблице..


Код
Процедура ОтправитьНажатие()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КоличествоСтрок = ЭлементыФормы.ВыбДилеры.Значение.Количество();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если КоличествоСтрок <> 0 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Для каждого Строка из ВыбДилеры цикл
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ВыбФайл=ТекстПисьма;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТемаОтправки=ТемаПисьма;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;глОтправитьОтчетПоПочте(,ВыбДилер,ТемаОтправки,0,ВыбФайл,2);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЦикла;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЕсли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Для каждого строкаТаблицы из ВыбФайлы цикл
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если Выбфайл=0 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ВыбФайл=ВыбФайл+";";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Выбфайл=ВыбФайл+ВыбФайлы.Путь;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЕсли;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЦикла; 
КонецПроцедуры
 

Это процедура общего модуля в которой уже к почте подключается и цепляет данные письма:

Код
 Процедура глОтправитьОтчетПоПочте(ТаблицаОтправки,Получатель,ТемаПисьма,Сообщения=1,ТелоПисьма="",ТипПисьма=0) Экспорт    
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;если ТипЗначенияСтр(ТаблицаОтправки)="Таблица" Тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если ТипЗнч(ТаблицаОтправки)=Тип("ТабличныйДокумент") или ТипЗнч(ТаблицаОтправки)=Тип("ПолеТабличногоДокумента") тогда
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=КаталогПользователя()+"Отчет"+СтрЗаменить(СокрЛП(ТекущаяДата()),".","")+"_"+СтрЗаменить(СокрЛП(ТекущееВремя()),":","")+".xls";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=КаталогВременныхФайлов()+"Отчет"+Формат(ТекущаяДата(),"ДФ=""ддммгггг'_'ЧЧммсс""")+".xls";
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТаблицаОтправки.Записать(ИмяФайла,1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТаблицаОтправки.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//иначеесли ТипЗначенияСтр(ТаблицаОтправки)="Строка" тогда 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИначеЕсли ТипЗнч(ТаблицаОтправки)=Тип("Строка") тогда
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;поз=Найти(ТаблицаОтправки,";");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;поз=СтрНайти(ТаблицаОтправки,";");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=Новый Массив;//"";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;пока поз<>0 цикл
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тестфайла=Лев(ТаблицаОтправки,поз-1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;фс=Новый Файл(тестфайла);
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;если фс.СуществуетФайл(тестфайла)=1 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если фс.Существует() тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;если Пустоезначение(ИмяФайла)=0 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=ИмяФайла+";";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;конецесли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=ИмяФайла+тестфайла;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла.Добавить(фс);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;конецесли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТаблицаОтправки=Сред(ТаблицаОтправки,поз+1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;поз=Найти(ТаблицаОтправки,";");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;конеццикла;
//
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;фс=Новый Файл(ТаблицаОтправки);
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;если фс.СуществуетФайл(ТаблицаОтправки)=1 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если фс.Существует() тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//если Пустоезначение(ИмяФайла)=0 тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла=ИмяФайла+";";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//конецесли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//ИмяФайла=ИмяФайла+ТаблицаОтправки;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла.Добавить(фс);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;конецесли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;иначе
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИмяФайла="";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;конецесли;
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;АдресЭл=Константы.ЭлПочта.Получить();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль=Новый ИнтернетПочтовыйПрофиль;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.АдресСервераSMTP=АдресЭл.Сервер;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.АдресСервераPOP3=АдресЭл.Сервер;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.Таймаут=60;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.ПортSMTP=?(НЕ ЗначениеЗаполнено(АдресЭл.Порт),"25",Строка(АдресЭл.Порт));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.ПортPOP3=110;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.ПользовательSMTP=АдресЭл.Логин;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.ПарольSMTP=АдресЭл.Пароль;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.Пользователь=АдресЭл.Логин;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.Пароль=АдресЭл.Пароль;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Профиль.АутентификацияSMTP=СпособSMTPАутентификации.Login;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение=Новый ИнтернетПочтовоеСообщение;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Отправитель=АдресЭл.АдресОтправителя;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.ИмяОтправителя=АдресЭл.Отправитель;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Получатели.Добавить(СокрЛП(Получатель.ЭлПочта));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Тема=ТемаПисьма;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если НЕ ЗначениеЗаполнено(ТелоПисьма) тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Тексты.Добавить(ТемаПисьма,ТипТекстаПочтовогоСообщения.ПростойТекст);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИначеЕсли лев(ТелоПисьма,5)="file:" тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ВК.ЗагрузитьИзФайла(СокрЛП(сред(ТелоПисьма,6)));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТекстСообщения="";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    ФайлТекстаСообщения=Новый ТекстовыйДокумент;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ФайлТекстаСообщения.Прочитать(СокрЛП(сред(ТелоПисьма,6)));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ТекстСообщения=ФайлТекстаСообщения.ПолучитьТекст();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Тексты.Добавить(ТекстСообщения,ТипТекстаПочтовогоСообщения.HTML);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Иначе
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Тексты.Добавить(ТелоПисьма,ТипТекстаПочтовогоСообщения.ПростойТекст);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЕсли;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Если ТипЗНЧ(ИмяФайла)=Тип("Строка") и ЗначениеЗаполнено(ИмяФайла) тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ФайлСообщения=Новый Файл(ИмяФайла);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Вложения.Добавить(ИмяФайла,ФайлСообщения.Имя);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ИначеЕсли ТипЗнч(ИмяФайла)=Тип("Массив") тогда
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Для каждого МЗнач из ИмяФайла Цикл
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщение.Вложения.Добавить(ИмяФайла.ПолноеИмя,ИмяФайла.Имя);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЦикла;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецЕсли;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Почта=Новый ИнтернетПочта;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Попытка
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Почта.Подключиться(Профиль);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Исключение
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить("Ошибка отправки файла: "+ИмяФайла);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить(ОписаниеОшибки());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Возврат;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецПопытки;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Попытка
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Почта.Послать(Сообщение,ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,ПротоколИнтернетПочты.SMTP);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//СообщенияОтправки=Почта.Послать(Сообщение,ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,ПротоколИнтернетПочты.SMTP);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Исключение
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить(Получатель.ЭлПочта);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить(ОписаниеОшибки());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;КонецПопытки;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;УдалитьФайлы("file:G:\Bases2\Balance.htm");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить(Получатель.Наименование);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Сообщить(ТемаПисьма);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Почта.Отключиться();

КонецПроцедуры
Ответили: пост #10
Ответ на пост №9
Илья Привалов, у тебя в циклах не используется итераторы (строка,строкаТаблицы)
Ответили: пост #11

Читают тему

(гостей: 1)

Быстрый переход