Обработка ошибок
Ошибки транспортного уровня
Транспортные ошибки возникают при взаимодействии с сервером DataHUB: недоступность сети, истечение токена, ошибки протокола.
| Ситуация | Поведение модуля |
|---|---|
| Сетевая ошибка при получении | Зафиксировать сбой, прервать цикл получения |
401 Unauthorized |
Обновить токен через refresh-endpoint, повторить запрос |
408 Request Timeout |
Таймаут long-polling — нормальная ситуация, продолжить цикл |
404 / 5xx при отправке |
Засчитать как ошибку попытки; при исчерпании — статус «Ошибка обработки» |
Цикл обмена работает без участия пользователя. При прерывании цикла следующий запуск выполняется по расписанию регламентного задания.
Ошибки прикладных обработчиков
Если исходящий или входящий обработчик выбрасывает исключение, модуль перехватывает его, сохраняет текст ошибки в поле Описание ошибки и увеличивает счётчик попыток.
После достижения максимального числа попыток (по умолчанию 5) запись переходит в статус «Ошибка обработки» и требует ручного вмешательства.
Обработчик может управлять задержкой до следующей попытки через параметр ЗадержкаОбработкиСообщенияПриОшибке (в секундах). Это позволяет задать длительное ожидание при отложенной обработке зависимостей без изменения глобальных настроек модуля.
Статус «Отсутствует обработчик»
Если для входящего сообщения нет зарегистрированного обработчика (или он отключён), запись получает статус «Отсутствует обработчик». Сообщение не теряется: после включения обработчика запись можно сбросить на повтор вручную.
Что делать при «Ошибка обработки»
- Открыть форму записи из регистра соответствующей очереди.
- Прочитать Описание ошибки и Номер попытки обработки.
- Определить причину: ошибка в коде обработчика, некорректные данные, отсутствующая зависимость.
- Устранить причину.
- Сбросить статус записи на «Новое» для повторной обработки или «Обработка отменена» если повтор не нужен.
Известные проблемы текущей версии
Следующие поведения зафиксированы как задачи на исправление:
- Код ответа
408(таймаут long-polling) требует явной обработки как штатной ситуации — без прерывания цикла. - ACK должен отправляться строго после фиксации транзакции, а не внутри неё — для исключения потери сообщений при сбое коммита.
- Коды
401и409при ACK требуют корректной обработки без аварийного завершения.
До выхода исправлений рекомендуется следить за журналом регистрации 1С и статусами очередей при нестандартных сетевых условиях.