1

Ошибка при вызове метода ПодключитьОбработчикОжидания

#1С 8.3#Общий модуль

В Общем модуле находится процедура считывания и записи почты. Эта процедура должна запускаться с запуском программы. Для этого в Модуле управляемого приложения используется ПодключитьОбработчикОжидания. Но при запуске отладки вылетает ошибка:

{МодульУправляемогоПриложения(3)}: Ошибка при вызове метода контекста (ПодключитьОбработчикОжидания) ПодключитьОбработчикОжидания(“ПроверитьПочту.ПроверкаПочты”,10); по причине: Недопустимое значение параметра (параметр номер '1')

Никак не могу понять, в чём причина ошибки. Конфигурация своя и пустая.

Код Общего модуля:

     Процедура ПроверкаПочты() Экспорт
            Профиль = Новый ИнтернетПочтовыйПрофиль;
            Профиль.АдресСервераSMTP = "smtp.yandex.ru";
                Профиль.ПортSMTP = 465;
                Профиль.АдресСервераPOP3 = "pop.yandex.ru";
                Профиль.ПортPOP3 = 995;
                Профиль.Пароль = "***";
                Профиль.ПарольSMTP = "***";
                Профиль.Пользователь = "***";
                Профиль.ПользовательSMTP = "***";

                Профиль.ИспользоватьSSLSMTP = Истина;
                Профиль.ИспользоватьSSLPOP3 = Истина;

            Почта = Новый ИнтернетПочта;

            Попытка
                Почта.Подключиться(Профиль);
            Исключение
                Сообщить("Ошибка при подключении к серверу" + ОписаниеОшибки());
                Возврат;
            КонецПопытки;

            Сообщения = Новый Массив;
            Сообщения = Почта.Выбрать(Ложь);

            ХрПочт = Справочники.ХранениеПочты;

            Для каждого Сообщение Из Сообщения Цикл
                СтрокаТП = ХрПочт.ИнтернетЯщик.Добавить();
                СтрокаТП.Дата = Сообщение.ДатаОтправления;
                СтрокаТП.ОтКогоИмя = Сообщение.Отправитель.Пользователь;
                СтрокаТП.ОтКого = Сообщение.Отправитель.Адрес;
                СтрокаТП.Тема = Сообщение.Тема;
            КонецЦикла;

            Для каждого ТекстСообщения Из Сообщение.Тексты Цикл
                ТекстВходящие = ТекстВходящие + ТекстСообщения.Текст;
                СтрокаТП.Текст = ТекстВходящие;
            КонецЦикла;

            Почта.Отключиться();

        КонецПроцедуры

У Общего модуля стоят галки: Глобальный, Сервер, Вызов сервера.

Код Модуля управляющего приложения:

Процедура ПриНачалеРаботыСистемы()

        ПодключитьОбработчикОжидания("ПроверитьПочту.ПроверкаПочты",10);

КонецПроцедуры
 3258 8
Добавленоgamograff568 дней назад
Отредактировано562 дня назад


Добавить комментарий

Кирилл написал:568 дней назад0

Добрый день!

Там же написали что ошибка в первом параметре :)

Посмотрим что пишут в синтакс помощнике о первом параметре процедуры ПодключитьОбработчикОжидания:

<ИмяПроцедуры> (обязательный)

Тип: Строка. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте. Процедура не должна содержать параметров.

Не надо через точку указывать, просто название процедуры.

Ответить

gamograff написал:565 дней назад0

Да, я понимаю, что ошибка в первом параметре. При написании просто названия процедуры ошибка та же самая, так что дело не в том, прописываю я просто название процедуры или со ссылкой на общий модуль, который её содержит.

“Процедура должна располагаться на клиенте” - то есть пометка “Экспорт” не подойдёт? Если нет, то как прописать запись в справочник и последующие запросы?

Наверное, будет точнее спросить, как перейти с клиентской процедуры по подключению к почте к серверным процедурам по получению и обработке писем из электронного ящика?

Ответить

Кирилл написал:565 дней назад0

Выходит что у модуля должно стоят “клиент” и “глобальный”. Ну и естественно “Экспорт”.

Ответить

Кирилл написал:565 дней назад0

Попробуйте начать вбивать процедуру на клиенте “ПроверитьПо…” и нажмите ctrl+space.

Должен найти её и подсказать - значит что всё доступно.

Другое дело, что кажется “ПриНачалеРаботыСистемы” находится на сервере… Возможно нужно будет искать другое место для вызова.

Ответить

gamograff написал:565 дней назад0

Может быть, Вы подскажете тогда другой вариант. Дело в том, что задача - вызывать процедуру мониторинга почтового ящика с заданным интервалом времени. По идее, этот мониторинг не должен зависеть от работы клиента, пока работает сервер, он должен выполняться. Но ничего аналогичного “ПодключитьОбработчикОжидания()” для сервера не найдено. Есть ли возможность как-то реализовать цикличность запуска процедуры непосредственно на сервере?

Ответить

gamograff написал:565 дней назад0

Модуль управляемого приложения вообще не видит процедуры общего модуля, не смотря на то, что ОМ указан как глобальный и с “вызовом сервера”. А общий модуль в свою очередь не видит переменные МУП. Как их связать? Тогда и изначальная проблема уйдёт.

Ответить

Кирилл написал:565 дней назад0

Я так понимаю, что у вас файловый режим работы?

В последних платформах вроде бы реализован способ вызова регламентных заданий в файловом варианте. По крайней мере УТ 11 спокойно обменивается по расписанию.

Попробуйте реализовать это на регламентных заданиях

Ответить

gamograff написал:565 дней назад0

Спасибо! Действительно помогло. Теперь буду разбираться, почему оно не записывает в базу :)

Ответить

Добавить комментарий

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Ошибка при отправке интернет-писем

Конфигурация пустая. Требуется прописать модуль получения и отправки писем. Все ...

Ошибка при записи записи регистра сведений

Доброго времени суток! Установлена ЗУП 3.0. Уважаемые, подскажите, суть проблемы...

Не могу программно сформировать типовой отчет

Пытаюсь из внешней обработки программно сформировать типовой отчет и вывести рез...

1С 8.2: Ошибка при вызове метода контекста (Выполнить) Ожидается выражение "ВЫБРАТЬ"

Всем привет. Помогите пожалуйста!!!!!!!!!!!!!!! Выдает ошибку. Была пропущена т...

Новое

ручные проводки в НУ

Добрый день, Организация на ОСНО с 2016 года в январе 2016 года поступили на р/с...

Главное меню

Подскажите пожалуйста, у меня в главном меню куда исчезло меню Отчеты ( не значк...

Ищем программиста 1С в штат г.Москва

Доработка конфигурации 1С 8 Континент страхование на базе Бухгалтерии КОРП Созда...

Остатки товаров: настройка отчета

Добрый день! Подскажите пожалуйста по настройкам отчета: когда-то давно работала...

Ищем программиста 1С 8.2 в штат ( г. Киев)

Доброе утро, форумчане! Очень нужен грамотный программист 1С в штат, будем серье...