1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецПроцедуры
 3046 8
Добавленоgamograff518 дней назад
Отредактировано512 дней назад


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

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

Добрый день!

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

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

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

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

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

Ответить

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

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

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

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

Ответить

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

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

Ответить

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

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

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

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

Ответить

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

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

Ответить

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

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

Ответить

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

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

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

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

Ответить

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

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

Ответить

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

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

Наш канал на Youtube

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

Похожее

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

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

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

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

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

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

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

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

Новое

1С: Бухгалтерию 8.2 дёшево

Программа 1С: Бухгалетрия 8.2 По поводу приобретения программы обращайтесь на по...

Курсы

Добрый день! Осталось 2 ключа для активации курса “Профессиональный учёт в 1С:З...

"Наряд на хозтранспорт и спецтехнику" Путевые листы

Здравствуйте, Форумчане, прошу вашего совета. В организации такая ситуация: ест...

Создание обработки

Помогите с задачей. Суть такова - нужно создать внешнею обработку которая будет ...

Заполнение раздела 3 Расчет налоговой базы Книги доходов и расходов

Добрый день! Меня зовут Наталья. Про заполнение Кудир в КА очень все хорошо пишу...