В конфигурации «Управление тендерным отделом 2.0» есть три контура фиксации ошибок:
- Все данные поисковых запросов справочника Поисковые фильтры в активные API записываются в регистр сведений
РегистрыСведений.УТО_ЖурналЗагрузкиДокументов
- Все исключительные события прочих запросов в API (не поисковые запросы) записываются в лог-файл, который хранится в
Константы.УТО_ПутьКФайлуЛогированияОшибок
- Ошибки, обрабатываемые платформой 1С, которые в том числе могут быть связаны и с загрузкой данных и общим поведением системы, записываются в
Обработки.ЖурналРегистрации
Обработчик исключений API находится в модуле ENTОбменДанными_API
&НаСервере Процедура ВыполнитьЗаписьСобытия(ТекстовоеПредставлениеСобытия, ОписаниеОшибки) Экспорт //Запишем в лог Попытка ФайлЛога = Константы.УТО_ПутьКФайлуЛогированияОшибок.Получить(); Если ФайлЛога <> "" Тогда Текст = Новый ЗаписьТекста(); Текст.Открыть(ФайлЛога,КодировкаТекста.UTF8,Символы.ПС,Истина); Текст.ЗаписатьСтроку("=====ОШИБКА=====",Символы.ПС); Текст.ЗаписатьСтроку("Время события: " + ТекущаяДата(),Символы.ПС); Текст.ЗаписатьСтроку("Категория ошибки: " + ?(ТекстовоеПредставлениеСобытия = "", "Описание ошибки отсутствует", ТекстовоеПредставлениеСобытия),Символы.ПС); Текст.ЗаписатьСтроку("Содержание ошибки:",Символы.ПС); Текст.ЗаписатьСтроку(ОписаниеОшибки,Символы.ПС); Текст.ЗаписатьСтроку("================",Символы.ПС); Текст.Закрыть(); КонецЕсли; Исключение ЗаписьЖурналаРегистрации(ТекстовоеПредставлениеСобытия, УровеньЖурналаРегистрации.Ошибка, Метаданные.Константы.УТО_ПутьКФайлуЛогированияОшибок, "==ОШИБКА==УТО==", ОписаниеОшибки); КонецПопытки; КонецПроцедуры
Для записи в журнал регистрации информации о возникшем исключении используется конструкция:
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())
Пример регистрации дополнительных событий в функциональной подсистеме «УТО»:
Попытка ЗаписьЖурналаРегистрации(НСтр("ru = 'УТО.Действие с возможной ошибкой'", КодОсновногоЯзыка), УровеньЖурналаРегистрации.Информация, , , НСтр("ru = 'Начато действие'")); ДействиеСВозможнойОшибкой(ОбъектДействия); ЗаписьЖурналаРегистрации(НСтр("ru = 'УТО.Действие с возможной ошибкой'", КодОсновногоЯзыка), УровеньЖурналаРегистрации.Информация, , , НСтр("ru = 'Завершено действие'"); Исключение ЗаписьЖурналаРегистрации(НСтр("ru = 'УТО.Действие с возможной ошибкой'", КодОсновногоЯзыка), УровеньЖурналаРегистрации.Ошибка, , , НСтр("ru = '"Во время выполнения действия произошла неизвестная ошибка.'") + Символы.ПС + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); КонецПопытки; КонецПроцедуры
При возникновении записи со статусом «Ошибка» или «ERROR» нужно обратиться в поддержку support@enter-it.ru или создать тикет в вашем личном кабинете https://tasks.enter-it.ru/ и заполнить обязательные поля:
- указать номер версии конфигурации или номер версии основной конфигурации и номер версии расширения,
- указать параметры сеанса пользователя (роль пользователя, режим клиентского приложения , группу доступа или профиль доступа) в котором возникла ошибка,
- скопировать содержимое строки с заголовком «описание» или «комментарий» с указанием кода ошибки и/или номера строки кода, где возникает ошибка.