Программно вызвать аварийное завершение регламентного задания
Всем доброго дня!
Платформа: v8.3.23.1739
Вопрос такой:есть доп.обработка, которая работает по регламентному заданию, получает данные из другой базы данных. В случае если данных нет возвращает пустой результат.
Не получается вызвать аварийное завершение работы этого регл.задания, чтобы через сутки данное задание повторилось.
Пробовала через
и так
В форме списка регл.заданий всегда указывается, что задание выполнено, а надо чтобы фиксировалась ошибка.
Платформа: v8.3.23.1739
Вопрос такой:есть доп.обработка, которая работает по регламентному заданию, получает данные из другой базы данных. В случае если данных нет возвращает пустой результат.
Не получается вызвать аварийное завершение работы этого регл.задания, чтобы через сутки данное задание повторилось.
Пробовала через
Если Данные.Количество() = 0 Тогда
ВызватьИсключение("тут описание", КатегорияОшибки.ОшибкаВнешнегоИсточникаДанных)
КонецЕсли;
и так
Если Данные.Количество() = 0 Тогда
Попытка
А=1/0;
Исключение
ВызватьИсключение("тут описание", КатегорияОшибки.ОшибкаВнешнегоИсточникаДанных)
КонецПопытки;
КонецЕсли;
В форме списка регл.заданий всегда указывается, что задание выполнено, а надо чтобы фиксировалась ошибка.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)есть 2 базы, одна обращается к другой базе, данные не получили - зафиксировали ошибку, что данных нет, задание не выполнено. В самом регл. задании можно указать сколько раз нужно повторять запуск при ошибке. Можно конечно и в расписании тупо указать, чтоб каждый день загружались одни и те же данные, но зачем? а если у нас данные подгрузит, все ок, зачем нам на след.день опять запускать регламентное? для чего? чтобы снова получить те же данные? а смысл? надо запускать один раз месяц, первого числа, получил - хорошо, не получил -повторил попытку через определенное время. У меня сейчас нет цели любом случае загружать данные. Есть платформенный функционал 1с, где можно задать кол-во повторений в случае ошибки, хотелось бы понять почему у меня не получается сделать так чтобы работа рег.задания завершалась с ошибкой.
(10) просто проанализируйте с какой скоростью, как часто появляются нужные для обработки данные!
исходя из частоты появления данных и задавайте периодичность выполнения. (может с небольшим запасом)
и в регламенте сделайте правильный анализ входных данных
что бы одни и теже данные не обрабатывались! (Зачем одно и тоже обрабатывать?)
и при работе, проверили, если есть новые данные, то они обрабатываются, если нет то обработка завершается.
так многие регламенты и работают, в режиме ожидания. в этом и суть регламента ОДИН раз запустил и забыл о нем..
исходя из частоты появления данных и задавайте периодичность выполнения. (может с небольшим запасом)
и в регламенте сделайте правильный анализ входных данных
что бы одни и теже данные не обрабатывались! (Зачем одно и тоже обрабатывать?)
и при работе, проверили, если есть новые данные, то они обрабатываются, если нет то обработка завершается.
так многие регламенты и работают, в режиме ожидания. в этом и суть регламента ОДИН раз запустил и забыл о нем..
да понятно что вы выше писали!
просто хотел объяснить что так ни кто не делает! (поэтому и советов-то нет)
все делают как вы пишите как - "все ясно и понятно как божий день"
уж если вам совсем все необычно зудит сделать, то как советовали выше,
ищите в коде вашего регламента команды Попытка и убирайте их!
тогда сработает ваше ВызватьИсключение
(ну что тут еще скажешь...)
просто хотел объяснить что так ни кто не делает! (поэтому и советов-то нет)
все делают как вы пишите как - "все ясно и понятно как божий день"
уж если вам совсем все необычно зудит сделать, то как советовали выше,
ищите в коде вашего регламента команды Попытка и убирайте их!
тогда сработает ваше ВызватьИсключение
(ну что тут еще скажешь...)
Странно, конечно, что ВызватьИсключение не прерывает регл.задание аварийно. Ладно.
Я бы пошёл другим путём. Сделал константу с типом Дата "ДатаСледующейЗагрузкиДанных" например. Пусть регзадание ломится в другую базу каждый день, но как только получает данные, сдвигает дату следующей загрузки на начало следующего месяца. А при старте регзадания, соответственно, проверяет константу и завершается, если в ней дата больше текущей, а если меньше или равна, то ломится в базу в надежде получить данные.
Я бы пошёл другим путём. Сделал константу с типом Дата "ДатаСледующейЗагрузкиДанных" например. Пусть регзадание ломится в другую базу каждый день, но как только получает данные, сдвигает дату следующей загрузки на начало следующего месяца. А при старте регзадания, соответственно, проверяет константу и завершается, если в ней дата больше текущей, а если меньше или равна, то ломится в базу в надежде получить данные.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот