1. yurowski 31 13.09.18 18:17 Сейчас в теме

Обработчик ожидания вложенный не выполняет

Здравствуйте.
Вот кусок кода.
Вызываю обработчик, который проверяет установку Истина/Ложь
Если Ложь, то я его завершаю и подключаю следующий, но он не выполняет вызов процедуры.
С чем это может быть связано? Никакой ошибки при это не возникает.
Первый отрабатывает как надо.
Все процедуры &НаКлиенте

НеВыводитьПроведенныеДокументы = Истина;
...................	
        НеВключатьТаймер = Истина;
	ПодключитьОбработчикОжидания("ПроверитьРаботуТаймера", 60, Ложь);
	
КонецПроцедуры

&НаКлиенте
Процедура ПроверитьРаботуТаймера()
	Если НЕ НеВключатьТаймер Тогда
		ОтключитьОбработчикОжидания("ПроверитьРаботуТаймера");
		ПодключитьОбработчикОжидания("_Заполнить", 86400, Ложь);
	КонецЕсли;
КонецПроцедуры
Показать
Ответы
Избранное Подписка Сортировка: Древо
2. bmk74 81 13.09.18 18:32 Сейчас в теме
Как то та, вы же таймер однократно запускаете, он у вас один раз сработает и все
&НаКлиенте
Процедура ПроверитьРаботуТаймера()
    Если НЕ НеВключатьТаймер Тогда
       
        ПодключитьОбработчикОжидания("_Заполнить", 86400, Ложь);
    Иначе
             ПодключитьОбработчикОжидания("ПроверитьРаботуТаймера,60,Ложь");
    КонецЕсли;
КонецПроцедуры
Показать
3. yurowski 31 13.09.18 18:50 Сейчас в теме
(2) да нет, третий параметр же как раз и показывает
ПодключитьОбработчикОжидания("ПроверитьРаботуТаймера", 60, Ложь);
, что неоднократно выполнять (Ложь - многократно, Истина - однократно). Тут что-то другое мешает.
На картинке видно, что точка остановки сработала, но вызова процедуры не последовало...
Прикрепленные файлы:
4. bmk74 81 13.09.18 18:56 Сейчас в теме
(3) Тьфу да кстати, но лучше сделать его однократным, и в цикле заново запускать.
И кстати а как вы проверяете его что 144 минуты ждете ?
ПодключитьОбработчикОжидания("_Заполнить", 86400,
5. yurowski 31 13.09.18 18:59 Сейчас в теме
(4) зачем 1140 минут, это сутки.
Задача каждые 60 секунд проверят флаг, если его сняли, то идем выполнять процедуру, к которой вернется таймер через 24 часа.
Но когда через 60 секунд флаг снять, он идет к обработчику, но не может вызвать нужную мне процедуру, а просто уходит на конец проверки условия.
Прикрепленные файлы:
6. bmk74 81 13.09.18 19:20 Сейчас в теме
(5) Там 1/10 секунды так что 6секунд и 144 минуты
А Сама процедура "Зап" есть и она на клиенте ?
Да и вы хотите держать открытым клиентсое окно 24 часа ?
Примечание:

Вызов обработчика ожидания продолжается пока форма не будет закрыта или пока не будет вызван метод формы
8. yurowski 31 14.09.18 09:15 Сейчас в теме
(6)
Да и вы хотите держать открытым кл

Да, окно будет открыто всегда.
7. bmk74 81 13.09.18 19:23 Сейчас в теме
(5) Кстати а почему эту процедуру просто не выполнить ? Зап();
Зачем подключать обработчик ожидания ? естественно что он подключиться но ждать будет как я уже сказал 144 минуты
9. yurowski 31 14.09.18 09:16 Сейчас в теме
(7)
Кстати а почему эту процедуру просто не выполнить ? Зап();

мне её нужно каждые сутки выполнять.
Нам написали её на УФ, а работаем вы в обычном приложении.
Я не могу сделать автозапуск внешней обработки по расписанию, т.к. её нельзя открыть в обычном приложении не поместив в конфигураторе в обработки
10. bmk74 81 14.09.18 12:13 Сейчас в теме
(9)
Я не могу сделать автозапуск внешней обработки по расписанию

Если есть БСП то вполне все возможно, При том если весь код выполняться на сервере может, то и форма ей не нужна как таковая

мне её нужно каждые сутки выполнять.

Таки и выполняйте
&НаКлиенте
Процедура ПроверитьРаботуТаймера()
    Если НЕ НеВключатьТаймер Тогда
        Заполнить();
    Иначе
             ПодключитьОбработчикОжидания("ПроверитьРаботуТаймера",60,Истина);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Заполнить()
       ПодключитьОбработчикОжидания("ПроверитьРаботуТаймера",864000,Истина);
       ......
КонецПроцедуры
Показать

при НеВключатьТаймер = Ложь выполниться Заполнить(), и подключит Обработчик ПроверитьРаботуТаймера на время сутки
при этом будет выполне нужный вам код
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день