Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Прервать регламентное задание          
Batchir Подменю пользователя
сообщение 11.07.11, 15:52
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

1С предприятие 8.2. Обычный режим.

Необходимо прервать регламентное задание и что бы оно вернуло ошибку.
например есть код в регламентной процедуре.
НачатьТранзакцию();
Попытка
      // здесь например формируется какой-то документ и возникает ошибка блокировки данных
      // выполнение перейдет в исключение
      ЗафиксироватьТранзакцию();
Исключение
      ОтменитьТранзакцию();
      // и вот тут нужно прервать регламентное задание таким образом,  что бы оно было выполнено с ошибкой,
      // что бы если для регл задания настроен перезапуск по ошибке то заново стартовало.
КонецПопытки;

Прерывание должно отрабатывать и в файловом и в серверном режиме.
Может кто подскажет, а то я чего-то сразу не соображу, а нужно срочно решить эту задачку.
Почему именно так - подразумевается что не любая ошибка должна завершать регламентное задание с ошибкой, есть ряд неважных ошибок (блокировок), которые можно игнорировать и не обращать на них внимания.

Vofka Подменю пользователя
сообщение 11.07.11, 16:02
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Может функция
ВызватьИсключение()

поможет?

Т.е. как-то так:

НачатьТранзакцию();
Попытка
      // здесь например формируется какой-то документ и возникает ошибка блокировки данных
      // выполнение перейдет в исключение
      ЗафиксироватьТранзакцию();
Исключение
      ОтменитьТранзакцию();
      ВызватьИсключение();
КонецПопытки;

Спасибо сказали: Batchir,

Fynjy Подменю пользователя
сообщение 11.07.11, 16:13
Сообщение #3

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Цитата(Vofka @ 11.07.11, 17:02) *
Может функция
ВызватьИсключение()

поможет?

Т.е. как-то так:

НачатьТранзакцию();
Попытка
      // здесь например формируется какой-то документ и возникает ошибка блокировки данных
      // выполнение перейдет в исключение
      ЗафиксироватьТранзакцию();
Исключение
      ОтменитьТранзакцию();
      ВызватьИсключение();
КонецПопытки;

Зачем ВызватьИсключение() - если оно уже произошло?
Батчир - я бы сделал через флаг (переменную или параметр системы) и вставил бы в нескольких местах вызов проверки флага.


Signature

Batchir Подменю пользователя
сообщение 11.07.11, 16:22
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Если через флаг, то как прервать задание что бы оно вернуло ошибку?
Сама суть вопроса - нужно прервать задание так что бы оно считалось аварийно завершенным
Конструкция
Попытка
Исключение
      ВызватьИсключение;
КонецПопытки;


из описания вроде подходит , дома уже проверю.

Batchir Подменю пользователя
сообщение 11.07.11, 17:59
Сообщение #5

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Да, ВызватьИсключение, отрабатывает как раз так как надо

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 10:06
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!