/RegErr

Расширение Обработка ошибок

Primary Language1C Enterprise

Расширение для обработки ошибок.

1С начиная с платформы 8.3.17 позволяет явно указать свой сервер для регистрации ошибок и получения отчета об ошибке. Данное расшиение позволяет на базе конфигурации Task создать свой сервис обработки ошибок.

Функционал расширения

Данное расширение предназначено для использования в конфигурации Task. Позволяет развернуть HTTP-сервис, которые регистрирует ошибку и создает задачу. Задача создается со Статусом "Запрос на добавление", исполнитель пустой, автор так же пустой. К задаче прикрепляются два файла: Файл json с полным описанием ошибки (формируется из переданного XML) и скриншот. Состав передаваемых по ошибке данных можно менять в обработке "Управление настройками обработки ошибок". Там же задается поведение системы. Эти действия производятся на конфигурации, которая подключается к серверу обработки ошибок.
Необходимо иметь в виду, что внешние отчеты и обработки формируют ошибку несколько иначе, чем основной код кофигурации. Любая ошибка во внешней обработке или отчете генерирует один и тот же хэш ошибки. Поэтому до момента получения XML-отчета об ошибке, идентифицировать ее невозможно. Данное поведение платформы предусмотрено в расширении, вторая задача для такой же ошибки не создается.
В данный момент пользователю возвращается три вида сообщений:

  1. При первом обращении генерируется ответ: 'Отчет об обшибке получен. Мы исправим ошибку быстро как только сможем.'
  2. При повторнной регистрации той же ошибки, но задача еще не успела создаться: 'Данная ошибка уже зарегистрирована и обрабатывается.'
  3. Когда к ошибке создана задача, то пользователь получает ответ: 'Данная ошибка уже зарегистрирована. Номер задачи #'

Установка сервиса

  1. Чтобы запустить сервис регистрации ошибок необходимо добавить в конфигурацию расширение. Необходимо снять галочку "Безопасный режим".
  2. После этого необходимо сервис опубликовать. Не забудьте поставить галочку напротив пункта "Публиковать HTTP сервисы расширений по умолчанию". Я, как правило, сервисы публикую в отдельный каталог и там, для безопасности, снимаю ВСЕ галки, кроме http-сервисов. Обязательно выключите авторизацию сервиса тем или иным спосбом, иначе до вашего сервиса не смогут достучаться и работать ничего не будет. Самое просто - исправить файл default.vrd. В расширении сервис обработки называется RegErr. Т.е. адрес обработчика будет http://ВашУРЛЗадачи/hs/RegErr/ Для проверки можно из браузера обратиться по адресу http://ВашУРЛЗадачи/hs/RegErr/check Если вернется Есть ответ, то значит сервис развернут и настроен правильно. Обратите внимание на строчные и заглавные символы в адресе. В зависимости от настроек веб-сервера это может быть актуальным.
  3. Настроить в поддерживаемой конфигурации обработку ошибок. Подробнее по данной теме можно почитать здесь. Имейте в виду, что если отправка ошибки происходит по усмотрению пользователя, то вы будете получать только те ошибки, которые вам отправят. Если включить автоматическую отправку, то от пользователя уже не будет ничего зависеть.

На этом установка сервиса закончена.

В данный момент сервис уже находится в боевой эксплуатации, но я всегда готов выслушать замечания и предложения. Делалось для себя, так что не везде код вылизан и причесан.