Имя: Пароль:
1C
 
Отправка файла по почте в HTTP сервисе
0 MAPATNK2
 
naïve
28.07.16
08:36
1. 5 50% (2)
2. 2 25% (1)
3. 3 25% (1)
4. 1 0% (0)
5. 4 0% (0)
Всего мнений: 4

Здравствуйте. Пытаюсь послать почтой сохраняемый файл. Запрос выполняется, файл сохраняется отлично, как только вставил код с отправкой почты браузер выводит ошибку (Ошибка инициализации библиотеки модулей). Прилагаю код.



Функция HardVen(Запрос)
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
    option  = ОбщегоНазначения.ПолучитьПараметры(Запрос.ПолучитьТелоКакСтроку());
    comment1  = ОбщегоНазначения.РаскодироватьСтрокуЭкспорта(option.Получить("comment1"));
    comment2  = ОбщегоНазначения.РаскодироватьСтрокуЭкспорта(option.Получить("comment2"));
    comment3  = ОбщегоНазначения.РаскодироватьСтрокуЭкспорта(option.Получить("comment3"));
    email = ОбщегоНазначения.РаскодироватьСтрокуЭкспорта(option.Получить("you_email"));    
    Если comment1 = "1"
        тогда
        Запрос1 = Новый Запрос;
        Запрос1.Текст =
        "ВЫБРАТЬ
        |    ЗаказПокупателя.Ссылка,
        |    ЗаказПокупателя.Номер,
        |    ЗаказПокупателя.Дата,
        |    ЗаказПокупателя.Проведен,
        |    ЗаказПокупателя.Ответственный.Наименование,
        |    ЗаказПокупателя.СуммаДокумента,
        |    ЗаказПокупателя.Контрагент.Наименование,
        |    ЗаказПокупателя.Гарантия
        |ИЗ
        |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |ГДЕ
        |    ЗаказПокупателя.Номер = &Номер И
        |     ЗаказПокупателя.Контрагент.Код = &Код";
           z=comment2;
        a=comment3;
        Запрос1.УстановитьПараметр("Номер",z);
        Запрос1.УстановитьПараметр("Код",a);
        Резик=Запрос1.Выполнить().Выгрузить();
        СписокНоменклатуры1 = "";
    Для Каждого стр Из Резик Цикл
        СписокНоменклатуры1 = СписокНоменклатуры1+"<tr><td>"+стр.Номер+"</td></tr>";
    КонецЦикла;
    СтрокаВозврата= "<table border=""1"">"+СписокНоменклатуры1+"</table>";    
    ИначеЕсли   comment1 = "2"
    тогда
        Запрос1 = Новый Запрос;
        Запрос1.Текст =
          "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Ссылка,
        |    РеализацияТоваровУслуг.Номер,
        |    РеализацияТоваровУслуг.Дата,
        |    РеализацияТоваровУслуг.Проведен,
        |    РеализацияТоваровУслуг.Склад.Наименование,
        |    РеализацияТоваровУслуг.Ответственный.Наименование,
        |    РеализацияТоваровУслуг.СуммаДокумента
        |ИЗ
        |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |    РеализацияТоваровУслуг.Номер = &Номер И
        |     РеализацияТоваровУслуг.Контрагент.Код = &Код";
        a=comment3;
           z=comment2;
           Запрос1.УстановитьПараметр("Номер",z);
        Запрос1.УстановитьПараметр("Код",a);
        Резик=Запрос1.Выполнить().Выгрузить();
        СписокНоменклатуры2 = "";
        Для Каждого стр Из Резик Цикл
        СписокНоменклатуры2 = СписокНоменклатуры2+"<tr><td>"+стр.Номер+"</td></tr>";
    КонецЦикла;
    СтрокаВозврата= "<table border=""1"">"+СписокНоменклатуры2+"</table>";
    ИначеЕсли    comment1 = "3"
    ТОГДА
        Запрос1 = Новый Запрос;
        Запрос1.Текст =
          "ВЫБРАТЬ
          |    ОплатаОтПокупателяПлатежнойКартой.Ссылка,
          |    ОплатаОтПокупателяПлатежнойКартой.Дата,
          |    ОплатаОтПокупателяПлатежнойКартой.Номер,
          |    ОплатаОтПокупателяПлатежнойКартой.СуммаДокумента,
          |    ОплатаОтПокупателяПлатежнойКартой.Ответственный.Наименование
          |ИЗ
          |    Документ.ОплатаОтПокупателяПлатежнойКартой КАК ОплатаОтПокупателяПлатежнойКартой
          |ГДЕ
          |    ОплатаОтПокупателяПлатежнойКартой.Номер = &Номер И
        |     ОплатаОтПокупателяПлатежнойКартой.Контрагент.Код = &Код";
        a=comment3;
        z=comment2;
        Запрос1.УстановитьПараметр("Код",a);
           Запрос1.УстановитьПараметр("Номер",z);
        Резик=Запрос1.Выполнить().Выгрузить();
        СписокНоменклатуры3 = "";
        Для Каждого стр Из Резик Цикл
        СписокНоменклатуры3 = СписокНоменклатуры3+"<tr><td>"+стр.Номер+"</td></tr>";
    КонецЦикла;
    СтрокаВозврата= "<table border=""1"">"+СписокНоменклатуры3+"</table>";    
    КонецЕсли;    

    Резик = Запрос1.Выполнить().Выгрузить();
    ТабДок1 = Новый ТабличныйДокумент;
      Построитель = Новый ПостроительОтчета();
      Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Резик);
       Построитель.ВыводитьЗаголовокОтчета = Ложь;
    Построитель.Вывести(ТабДок1);
    ИмяФайла = "c:\test666666.xls";
    ТабДок1.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.XLS);    
    
    HTTPОтвет = Новый HTTPСервисОтвет(200);
    ОтветДД = Новый ДвоичныеДанные(ИмяФайла);
    HTTPОтвет.УстановитьТелоИзДвоичныхДанных(ОтветДД);
    Возврат Ответ;
// файл сохранен, теперь нужно отправить его по почте.
    
    adres = email;    
    ПараметрыУчетнойЗаписи = Новый ИнтернетПочтовыйПрофиль;
    ПараметрыУчетнойЗаписи.АдресСервераSMTP = "smtp.mail.ru";
    ПараметрыУчетнойЗаписи.ПортSMTP = 465;
    ПараметрыУчетнойЗаписи.Пользователь = "marat.coolls@mail.ru";
    ПараметрыУчетнойЗаписи.Пароль = "mapatnk228mapatnk228";
    ПараметрыУчетнойЗаписи.АутентификацияSMTP     = СпособSMTPАутентификации.Login;
    ПараметрыУчетнойЗаписи.ПарольSMTP           = "_______";
    ПараметрыУчетнойЗаписи.ПользовательSMTP     = "marat.coolls@mail.ru";
    ПараметрыУчетнойЗаписи.ИспользоватьSSLPOP3 = Истина;
    ПараметрыУчетнойЗаписи.ИспользоватьSSLSMTP = Истина;
    
    Соединение = Новый ИнтернетПочта;
    Письмо = Новый ИнтернетПочтовоеСообщение;
    Письмо.ИмяОтправителя = "Аютов Марат";
    Письмо.Отправитель.Адрес = "marat.coolls@mail.ru";
    Письмо.ОбратныйАдрес.Добавить("marat.coolls@mail.ru");
    //ТекстУведомления = "";
    Письмо.Тема = "Тест";
    Письмо.Тексты.Добавить("Тест");
    Письмо.Вложения.Добавить("c:\test666666.xls");    
    Письмо.Получатели.Добавить("marat.coolls@gmail.com");    
    Попытка            
            Соединение.Подключиться(ПараметрыУчетнойЗаписи);
            Соединение.Послать(Письмо);
        КонецПопытки;    
        
    ////////page = ОбщегоНазначения.ПолучитьШаблонСтраницы("Gone");
    ////////Ответ.УстановитьТелоИзСтроки(page+СтрокаВозврата);    
    ////////Возврат Ответ;
КонецФункции
17 lodger
 
28.07.16
09:13
садись

2
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.