Имя: Пароль:
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+СтрокаВозврата);    
    ////////Возврат Ответ;
КонецФункции
1 Горогуля
 
28.07.16
08:39
информацию принял
2 MAPATNK2
 
naïve
28.07.16
08:50
(1) ???
3 Горогуля
 
28.07.16
08:52
(2) продолжайте наблюдения. и здравствуйте
4 MAPATNK2
 
naïve
28.07.16
08:59
Просто может кто сталкивался с отправкой через HTTP сервисы.Не могу понять в чем проблема. Я уже и отдельный сервис для отправки создавал.

5
5 Горогуля
 
28.07.16
09:02
(4) кто-то обязательно сталкивался. держись! а что за голосовалка?
6 MAPATNK2
 
naïve
28.07.16
09:05
(5) Я случайно добавил. XD
7 Горогуля
 
28.07.16
09:06
случайно набить 5 пунктов? ну ладно..
8 MAPATNK2
 
naïve
28.07.16
09:07
(5) Не издевайся. ( На практике задания тупые дают, а литературы никакой. Вот и сидишь, ждешь пока кто-нибудь рассскажет или подскажет. Я ведь не прошу код за меня писать, а только сказать в чем ошибка.
9 MAPATNK2
 
naïve
28.07.16
09:07
(7) XD
10 Mauser
 
28.07.16
09:07
(5) Может это оценка, на которую рассчитывает наш студент-третьекурсник? Ну, знаешь, психотерапия там..

3
11 Горогуля
 
28.07.16
09:08
(8) алилуйя! к восьмому посту автор созрел до вопроса
12 Горогуля
 
28.07.16
09:09
терапия, да? полечимся тогда. мне нравится фиолетовый

5
13 mehfk
 
28.07.16
09:09
Попытка            
            Соединение.Подключиться(ПараметрыУчетнойЗаписи);
            Соединение.Послать(Письмо);
        КонецПопытки;

где "Исключение"?
14 Mauser
 
28.07.16
09:09
(8) "Все плохие кроме я", книг не дали, ничего не объяснили и тут не помогают.
15 Горогуля
 
28.07.16
09:10
"Ошибка инициализации библиотеки модулей" - прекрасная строка для гугла. он что-то сказал?
16 Горогуля
 
28.07.16
09:12
>АААААААА......Я нашёл!!!!! :)
это я в поиск вбил
17 lodger
 
28.07.16
09:13
садись

2
18 mehfk
 
28.07.16
09:14
(13)+ С тебя 500 рублей в фонд Мисты.
19 Горогуля
 
28.07.16
09:17
(18) прекращай сам с собой разговаривать ;)
20 mehfk
 
28.07.16
09:18
(19) Опять грибов вкинул?
21 MAPATNK2
 
naïve
28.07.16
09:27
(13) С исключением та же ошибка
22 mehfk
 
28.07.16
09:29
(21) Отладчик украли?
23 MAPATNK2
 
naïve
28.07.16
09:30
(22) Где отладчик в HTTP сервисе?
24 mehfk
 
28.07.16
09:33
(23) Это вопрос уже на 1000 рублей.
25 MAPATNK2
 
naïve
28.07.16
09:40
(24) Ну сейчас никаких ошибок не выдает, когда поставил исключние. Но так же не отправляет на почту. сохраняется файл только.
26 mehfk
 
28.07.16
09:41
(25) А ты отладчиком проверь, не попадаешь ли ты в исключение.
27 DrZombi
 
гуру
28.07.16
09:43
(23) А вы разве не заметили, что у вас в (0) нет "HTTP сервиса"

В чем проблема то?
Народ уже 26 постов вам намекает, что вы не задали вопроса :)

Читай тут, до конца.
Сравни свой код с кодом автора.

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=578805
28 DrZombi
 
гуру
28.07.16
09:45
+(27) Ужас, только сейчас обратил внимание на "HTTPСервисОтвет" и ни одной строчки на подключение, СервисЗапроса...

Пятничная ветка :)
29 MAPATNK2
 
naïve
28.07.16
09:46
(27) Я отправил обработчик? Весь сервис зачем кидать? Все остальное у меня работает. Я не могу только отправить на почту.
30 MAPATNK2
 
naïve
28.07.16
09:47
(28) Я только начинаю программировать и не понимаю о чем вы. Не могли бы подробней объяснить?
31 DrZombi
 
гуру
28.07.16
09:48
(29) Ваш код гуано, не читабелен и нет желания его рассматривать :)

Отправка пост запросов
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=571580

еще намеки
http://forum.aeroion.ru/topic446.html
http://forum.shelek.ru/index.php/topic,26937.msg259432.html
32 DrZombi
 
гуру
28.07.16
09:49
(30) Начни сперва отправлять почту через "ИнтернетПочта". Как заработает, продолжите изучения отправки POST и GET запросов
33 mehfk
 
28.07.16
09:50
(31) Ты зачем человека путаешь? Он не вызывает сторонний http-сервис! В (0) это и есть метод http-сервиса.
34 MAPATNK2
 
naïve
28.07.16
09:50
(32) Хорошо, прочту. Спасибо. Просто я создал внешнюю обработку, в нейвсе отлично выводится, сохраняется и отправляется, когда ввел тот же код в HTTP сервис обработчик, ничего не работает.
35 DrZombi
 
гуру
28.07.16
09:51
(34) Вот еще примерчики
http://catalog.mista.ru/public/16530/
36 DrZombi
 
гуру
28.07.16
09:53
(33) Что там есть? HTTPСервисОтвет - Для чего он нужен?
37 mehfk
 
28.07.16
09:53
(36) Открой СП - посмотри.
38 MAPATNK2
 
naïve
28.07.16
10:00
(32) Могу я почту отправлять. В HTTP сервисе не знаю как это правильно сделать.
39 DrZombi
 
гуру
28.07.16
10:05
(37) Да нашел... у меня 8.2

http://ib.8plus.ru/as/hs/a/help/?path=/objects/catalog63/catalog2247/HTTPServiceResponse.html

Описание:
Содержит ответ, формируемый HTTP-сервисом.
40 DrZombi
 
гуру
28.07.16
10:07
(38) Изучай GET и POST запросы.
+ смотри в (35) скачай обработку.

Сам почтовый клиент "Майл.ру" или "Яндекс" должны поддерживать АПИ обработку запросов от клиентов :)
41 DrZombi
 
гуру
28.07.16
10:07
+(38) Читаешь их инструкции
42 DrZombi
 
гуру
28.07.16
10:07
+ Гуглишь
43 DrZombi
 
гуру
28.07.16
10:08
+ Спрашиваешь на мисте, если чего не разумеешь :)
44 mehfk
 
28.07.16
10:10
(39) Пойми, он пишет свой http-сервис, а не пользуется сторонним.
45 mehfk
 
28.07.16
10:11
Ему нужно чтобы снаружи можно было постучаться по http, достучаться до 1с-ки, а она уже отправит письмо.
46 MAPATNK2
 
naïve
28.07.16
10:13
(45) ДДАААА
47 MAPATNK2
 
naïve
28.07.16
10:20
Всем спасибо, все отправил.
48 MAPATNK2
 
naïve
28.07.16
10:20
Письмо.Тексты.Добавить("Тест");
    Письмо.Вложения.Добавить("c:\test666666.xls");    
    Письмо.Получатели.Добавить(adres);    
    Попытка            
            Соединение.Подключиться(ПараметрыУчетнойЗаписи);
            Соединение.Послать(Письмо);
    исключение
            Сообщить(ОписаниеОшибки());
    КонецПопытки;    
        
        
    Возврат Ответ;
49 DrZombi
 
гуру
28.07.16
10:34
(45) Вопрос не соответствует теме :)
50 DrZombi
 
гуру
28.07.16
10:35
(46) Держи, еще примерчики :)
http://catalog.mista.ru/public/336109/
51 Mauser
 
04.08.16
00:10
Serginio1 - Вот она, твоя целевая аудитория, перед которой ты мечешься и спрашиваешь про COM в линуксе. Ты до сих пор уверен, что ей это надо ?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший