8.х Регламентное задание не отправляет почту через Outlook

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Максим, 5 дек 2015.

  1. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Здравствуйте.
    1С:Предприятие 8.2 (8.2.19.90)

    Использую отправку писем через outlook.

    Код:
    Outlook = Новый COMОбъект("Outlook.Application");
        Письмо = Outlook.CreateItem(0);
        Письмо.Subject = пТемаПисьма; .
    
    .........
    
    Попытка
            Письмо.Send();
            ЗаписьЖурналаРегистрации("РЗ", УровеньЖурналаРегистрации.Предупреждение, , , "6");
    Исключение
    КонецПопытки;
    
    
    Если запускаю интерактивно обработку, письмо отправляется.
    Через регламентное задание использую туже процедуру. Регламентное задание отрабатывает без ошибки. Строка
    Письмо.Send();
    отрабатывает. Я в этом уверен, потому что далее отрабатывает запись в журнал регистрации

    ЗаписьЖурналаРегистрации("РЗ", УровеньЖурналаРегистрации.Предупреждение, , , "6");

    Но письма по факту не приходят и в списке отправленных их нет.
    Подскажите в чем может быть проблема
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Если бы ошибка произошла, то в исключение попало. Однозначно дело в серверных и клиентских процедурах.


    Отправлено из моего iPhone используя Tapatalk
  3. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    У меня толстый клиент
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Это я понял. Регламентное задание порождает фоновое задание, которое выполняется на сервере. Когда интерактивно запускаешь, то все гуд, это может означать лишь то, что на клиенте все хорошо. Но как только пытаешься выполнить через регламентное, то сразу вываливается ошибка. Дело в написанном коде. Проблема может быть в чем угодно. Нужно построчно смотреть код и смотреть методы, что вызываются в коде. Скорее всего используются конструкции, которые не доступные на сервере. Одна из таких является обработка прерывания пользователя. Подобные конструкции нужно отделять инструкциями препроцессору #Если.
    Код:
    #Если Клиент Тогда
        ОбработкаПрерыванияПользователя();
    #КонецЕсли
    
    В этом и заключается смысл разработки приложений. Нужно всегда разрабатывать под сервер. ВСЕГДА.
    --- Объединение сообщений, 6 дек 2015 ---
    Еще можешь отладить сервер.
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    На сервере 1С почтовый клиент есть? пользователь от которого стратует рег задание у него какие права?

Поделиться этой страницей