Имя: Пароль:
1C
1С v8
Отправка писем
,
0 fenlork
 
20.08.13
08:42
Ребят, подскажите, пож-ста как правильнее будет) У меня в отправке письма, физЛицо по которому его составляют проверяеться на два условия СписокА или СписокБ, как сделать так, чтобы если СписокА и /Или СписокБ пустые-письмо не отправлялось?

ВыборкаДетальныеЗаписи = Результат.Выбрать();
      СписокА=""; СписокБ="";
     Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Получатель=ВыборкаДетальныеЗаписи.мыло;
        срокОкончанияЛицензии=ВыборкаДетальныеЗаписи.срокОкончанияЛицензии;
        Физлицо=ВыборкаДетальныеЗаписи.Физлицо;
        МесяцХ=добавитьмесяц(СрокОкончанияЛицензии,-1);
           ДеньХ=началоДня((СрокОкончанияЛицензии)-1);
        
        
        
        Если (началоДня(текущаяДата())=месяцХ) тогда
            СписокА=(СписокА+" "+Символы.ПС+Строка(ФизЛицо));
        
        конецЕсли;
        Если (началоДня(текущаяДата())=деньХ) тогда
            СписокБ=(СписокБ+" "+символы.ПС+Строка(ФизЛицо));
        
        КонецЕсли;
        КонецЦикла;
        Если (СписокА и СписокБ="") тогда
            
    ИПП = Новый ИнтернетПочтовыйПрофиль;
    ИПП.АдресСервераSMTP = "smtp.rambler.ru";
    ИПП.ПарольSMTP = "*****";
    ИПП.ПользовательSMTP = "******@rambler.ru";
    ИПП.ПортSMTP =  587;
    ИПП.АутентификацияSMTP = СпособSMTPАутентификации.Login;

    Сообщение = Новый ИнтернетПочтовоеСообщение;
    Сообщение.Получатели.Добавить(получатель);
    Сообщение.Отправитель.Адрес = "*****@rambler.ru";
    Сообщение.Тема = "Предупреждение!";
    Сообщение.Тексты.Добавить("Закончился срок действия регистрации у:"+СписокА);
    //Сообщение.Тема = "Предупреждение!";
    Сообщение.Тексты.Добавить("Через месяц истекает срок действия регистрации у:"+СписокБ);
    Сообщение.Тексты.Добавить("_________________________________________________________");
    Сообщение.Тексты.Добавить("Это письмо сформировано автоматически. Отвечать на него не нужно."+символы.ПС+"Служба автоматического напоминания 1С.");
    Почта = Новый ИнтернетПочта;
    Попытка
    Почта.Подключиться(ИПП);
    Сообщить("Подключено");
    Почта.Послать(Сообщение);
    Сообщить("Письмо отправлено");
    Исключение
        Сообщить(ОписаниеОшибки());
        Сообщить("Письмо не отправлено!!!");
        Возврат;
        КонецПопытки;
    Почта.Отключиться();
1 fenlork
 
20.08.13
08:44
Обработка будет запускаться каждый день-в моем случае если СписокАи/или СписокБ пустые-сообщение все равно сгенериться и пришлеться
2 Fedot200
 
20.08.13
09:02
Если (СписокА и СписокБ="") тогда  - это что за условие?
3 fenlork
 
20.08.13
09:10
это мой код-недописанный-тестю еще сейчас условия-забыл стереть
4 Fedot200
 
20.08.13
09:31
(3) ладно, а это
Если (началоДня(текущаяДата())=месяцХ) тогда
            СписокА=(СписокА+" "+Символы.ПС+Строка(ФизЛицо));
        
        конецЕсли;

Это, что с каждым проходом цикла списки растут?
5 fenlork
 
20.08.13
09:33
ага
6 fenlork
 
20.08.13
09:33
ребят, спасибо-справился сам!