Имя: Пароль:
1C
1С v8
Почему письмо на почту приходит без вложенных файлов
0 sergqwert
 
08.09.20
22:24
Отсылаю письмо на электронную почту, письмо приходит без вложенных файлов. В чем причина?

&НаСервере
Процедура КомандаРазослатьНаСервере()
    
    Если Объект.УчетнаяЗапись.Пустая() Тогда
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Не выбрана учетная запись электронной почты!";
        Сообщение.Сообщить();
        Возврат;
    КонецЕсли;    
    
    Каталог    = НСтр(СтрокаСоединенияИнформационнойБазы(), "File");        
    
        
    Почта     = Новый ИнтернетПочта;
    Профиль = РаботаСПочтовымиСообщениямиСлужебный.ИнтернетПочтовыйПрофиль(Объект.УчетнаяЗапись);
    
    Попытка
        Почта.Подключиться(Профиль);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    Для каждого Счет Из Объект.ТЧСчета Цикл
        
        Если НЕ Счет.Отправлять Тогда
            Продолжить;
        КонецЕсли;
        
        Сообщение = Новый ИнтернетПочтовоеСообщение;
        
        
        Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда
            ТабДок        = ПечатьДокументаНаСервере(Счет.ДокументСчет,"ПФ_MXL_СчетЗаказПечать","СчетЗаказСПечатью","Счет на оплату покупателю с печатью");
            
            Если ТабДок <> Неопределено Тогда
            ИмяФайлаСчет  = ПолучитьИмяВременногоФайла("pdf");
            ТабДок.Записать(ИмяФайлаСчет,ТипФайлаТабличногоДокумента.PDF);
            Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(ИмяФайлаСчет),"Счет"+Счет.ДокументСчет.Номер+".pdf");
            КонецЕсли;
                           
        КонецЕсли;    
        
        //ТемаПисьмаКонтрагент        = СтрЗаменить(Объект.ТемаПисьма,"%СЧЕТ%"," Счет № "+Счет.Документ.Номер+" от "+Формат(Счет.Документ.Дата,"ДФ=dd.MM.yyyy"));
        СодержаниеПисьмаКонтрагент = СтрЗаменить(Объект.Содержание,"%КЛИЕНТ%",""+Счет.Контрагент.НаименованиеПолное);
        
        Сообщение.Отправитель        = Объект.УчетнаяЗапись.АдресЭлектроннойПочты;
        Сообщение.ИмяОтправителя   = ""+Объект.Организация.Наименование;
        ПочтовыеАдреса                = Сообщение.Получатели;
        ПочтовыйАдрес                = ПочтовыеАдреса.Добавить();
        ПочтовыйАдрес.Адрес        = Счет.Адрес;
        Сообщение.Тема                = Объект.ТемаПисьма;
        
        ИнтернетТекстПочтовогоСообщения           = Сообщение.Тексты.Добавить();
        ИнтернетТекстПочтовогоСообщения.Текст      = СодержаниеПисьмаКонтрагент;
        ИнтернетТекстПочтовогоСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
        
        Попытка
            Почта.Послать(Сообщение);
        Исключение
            Сообщить(ОписаниеОшибки());
            Продолжить;
        КонецПопытки;
        
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Сообщение отправлено для контрагента "+Счет.Контрагент+" на адрес "+Счет.Адрес;
        Сообщение.Сообщить();
        
        Если ЗначениеЗаполнено(Счет.ДокументСчет) Тогда            
            УдалитьФайлы(ИмяФайлаСчет);
        КонецЕсли;
        
        
    КонецЦикла;

    Почта.Отключиться();    
    
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Рассылка успешно выполнена";
    Сообщение.Сообщить();
    
    
КонецПроцедуры
1 Fram
 
09.09.20
01:11
Отладчиком проверил?.. или сначала на форум поспешил?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший