Процедура ОбработчикОжидания

1. Az18011993 11.09.20 11:16 Сейчас в теме
Добрый день,уважаемые форумчане!
Стоит задача вызывать функции и процедуры обработки по расписанию,но столкнулся с трудностями.
&НаКлиенте
Процедура ОбработкаОжидания() Экспорт
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ПодключитьОбработчикОжидания("ОбработкаОжидания", 10);
КонецПроцедуры


При вызове ругается,что указан неверный параметр 1, в чем может быть проблема? Ведь название процедуры верное...
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. OiSorry 11.09.20 11:43 Сейчас в теме
(1)
&НаКлиенте
Процедура ОбработкаОжидания() Экспорт
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания("ОбработкаОжидания", 10);
КонецПроцедуры


Эмм затестил, всё работает в таком виде как у вас

Может быть прикрепите скрин ошибки?
12. Az18011993 11.09.20 11:46 Сейчас в теме
(10)странно...А какая конфигурация?
16. OiSorry 11.09.20 11:48 Сейчас в теме
(12) Конфигурация не зависит, т.к. проверял через внешнюю обработку
платформа 8.3.15.1700
14. FatPanzer 11.09.20 11:48 Сейчас в теме
(10) Я бы даже попросил скрин всего модуля. Что-то там не чисто. Приведенный кусок кода вырван из контекста.
17. Az18011993 11.09.20 11:53 Сейчас в теме
(14)Пример кода в модуле объекта
Прикрепленные файлы:
19. FatPanzer 11.09.20 12:01 Сейчас в теме
(17) Как уже сказали выше - обработчик ожидания должен находиться в том же модуле формы. Система должна понимать, где искать твой обработчик. Поэтому она ищет его там же, где включено его ожидание.
20. Az18011993 11.09.20 12:04 Сейчас в теме
(19)А как мне его подключать в модуле объекта?Ведь там нет процедур что то типо при Открытии и тп..
23. FatPanzer 11.09.20 12:07 Сейчас в теме
(20) Зачем тебе модуль объекта? Опять, как и вчера, "мне просто интересно"?
Судя по приведенным скриншотам тебе он точно не нужен.

Модуль объекта служит для обработки данных самого объекта.
Ты никаких данных объекта не обрабатываешь.
Ты просто хочешь из ФОРМЫ включить отправку электронной почты.
Вот в модуле формы и работай.

А в объект не лезь.
25. FatPanzer 11.09.20 12:11 Сейчас в теме
(20)
Модуль объекта предназначен для обработки стандартных событий. Например, событие на ввод элемента справочника, событие на запись элемента, удаление, проведение документа и т.д.
22. Az18011993 11.09.20 12:05 Сейчас в теме
(19)Так модуль формы или обьъекта?Я думал обработчик должен находится в модуле объекта,а вызывал я его из модуля формы...Просто не знаю как вызвать в модуле объекта
24. FatPanzer 11.09.20 12:08 Сейчас в теме
(22) Как ты его вызвал из модуля формы? Где ты указал, что система должна его искать в модуле объекта?
21. OiSorry 11.09.20 12:05 Сейчас в теме
(17) Либо переносите обработчик в форму, либо на форме делайте процедуру, которая будет вызывать вашу из модуля объекта
Т.е. Переносите обработчик на форму с директивой НаСервере и делайте отдельно обработчик ожидания, который будет вызывать процедуру с директивой НаКлиенте, а уже эта процедура будет вызывать вашу.
18. Az18011993 11.09.20 11:54 Сейчас в теме
(14)в модуле формы
Прикрепленные файлы:
2. FatPanzer 11.09.20 11:21 Сейчас в теме
Круто. Процедура...КонецФункции.
3. Az18011993 11.09.20 11:21 Сейчас в теме
4. Az18011993 11.09.20 11:23 Сейчас в теме
(2)Но не работает)Не подскажете в чем может быть проблема?
5. VictorRGB2 13 11.09.20 11:33 Сейчас в теме
(4) вроде как вызываемая процедура должна располагаться в модуле объекта, а не формы
или как минимум выполняться на сервере, но лучше все таки в модуль объекта ее поместить
7. FatPanzer 11.09.20 11:40 Сейчас в теме
(5) Ну какой модуль объекта при работе в форме списка, например... Обработчик чисто клиентский, на любой форме работает.
А вот с серверным контекстом можно попробовать.
11. Az18011993 11.09.20 11:45 Сейчас в теме
(5)Так у меня процедура находится в модуле объекта, а при открытии формы я вызываю обработчик ожидания
13. FatPanzer 11.09.20 11:47 Сейчас в теме
(11) ЧАВО??? У тебя приведен кусок текста из модулю формы. Процедуры размещены рядом с директивой &НаКлиенте.
Может ты путаешь модуль формы с модулем объекта? Сколько дней уже программируешь?
15. koln 11.09.20 11:48 Сейчас в теме
(11)
1. В модуле объекта не может быть директивы &НаКлиенте
2. Перенесите процедуру обработчика в модуль формы
26. VictorRGB2 13 11.09.20 13:14 Сейчас в теме
(11) давно не занимался таким... вот и чуть не корректно выразился
в общем выполняемая процедура, которая вызывается из обработчика ожидания действительно должна выполняться на сервере и тут уесть варианты как это сделать
уже писали - или правильно сделать вызов в модуль объекта или правильно сделать в модуле формы

примеры для УФ, для ОФ все попроще, но принцип тот же
1. как вызвать процедуру из модуля объекта
ПриОкрытии()
  ПодключитьОбработчикОжидания("ВызовМоейПроцедурыОтправкиПочты", 10);

&НаКлиенте
Процедура  ВызовМоейПроцедурыОтправкиПочты()
  ОбработкаОжиданияЭП();
КонецПроцедуры
 
&НаСервере
Процедура ОбработкаОжиданияЭП()
    ОбъектОбработки = РеквизитФормыВЗначение("Объект");
    ОбъектОбработки.ОбработкаОжиданияЭП();
КонецПроцедуры

// в модуле объекта 
Процедура ОбработкаОжиданияЭП() Экспорт
  // код процедуры
КонецПроцедуры
Показать


2. как все сделать в модуле формы
ПриОкрытии()
  ПодключитьОбработчикОжидания("ВызовМоейПроцедурыОтправкиПочты", 10);

&НаКлиенте
Процедура  ВызовМоейПроцедурыОтправкиПочты()
  ОбработкаОжиданияЭП();
КонецПроцедуры
 
&НаСервере
Процедура ОбработкаОжиданияЭП()
  // код процедуры
КонецПроцедуры
Показать
27. FatPanzer 11.09.20 13:18 Сейчас в теме
(26) То есть сам обработчик ожидания - все же на клиенте, а не на сервере (ВызовМоейПроцедурыОтправкиПочты)
28. VictorRGB2 13 11.09.20 13:24 Сейчас в теме
(27) да, ПодключитьОбработчикОжидания() не доступно на сервере, поэтому вызвать может клиентскую процедуру
29. FatPanzer 11.09.20 13:28 Сейчас в теме
(28) Конечно же, именно об этом я и говорю. А топикстартер вводит нас в заблуждение, размещая в посте корректный клиентский код, а на самом деле пытается разместить обработчик ожидания не просто на сервере, а еще и в модуле объекта.
8. andy_zhav 197 11.09.20 11:40 Сейчас в теме
(4) процедура При открытии привязана к обработчику при открытии формы?
Прикрепленные файлы:
6. Albert_2008 11.09.20 11:34 Сейчас в теме
Вроде все правильно. Попробуй убрать экспорт. Может где то названия пересекаются
9. Albert_2008 11.09.20 11:41 Сейчас в теме
Или переименуй ОбработкаОжидания в ОбработкаОжидания1 например
30. AlexandrSmith 69 13.09.20 20:11 Сейчас в теме
https://forum.mista.ru/topic.php?id=592514
Я думаю вряд ли использована перегрузка функций.
перегрузка функций artyomt
12 - 29.01.12 - 18:30
ааа, все, понял. не нужна тут перегрузка, бред.
z6rpoo
13 - 29.01.12 - 18:34
интересно, я такое не знал, спасибо
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот