1С 8.3 Запись лога - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Запись лога

Данные > Примеры кода 1С > 1С 8.3 Журнал регистрации
Реклама:
Задача:  после установки доработок в рабочей базе в регистре сведений появляются множественные записи. На копии не воспроизводится, продуктив отладкой останавливать нельзя. Как узнать что делает записи, откуда происходит вызов и какой код при этом выполняется?

Решение: универсальное расширение с одним методом, вызываемым ПриЗаписи набора записей регистра. Метод генерирует ошибку, описание ошибки возвращает полный стек вызовов, а встроенная XML-сериализация возвращает настройки отбора и записываемый набор записей. Фиксируем лог в журнал регистрации. Полученные записи можно отобрать по комментарию или сохранить в Excel, настроить отборы и проанализировать.

Пример кода: paste1C

Идею можно развивать: добавить константу для включения логирования, убрать из стека лишние строки, вывести представления полей (сериализация выводит идентификаторы), записать лог в свой регистр сведений и т.д.
Лог в журнал регистрации (программно) в 1С 8.3:
Процедура ЗаписьЛогаПередЗаписьюРС(Источник) Экспорт

   Попытка
       ВызватьИсключение "Стек вызовов:";
   Исключение

       ЗаписьXML = Новый ЗаписьXML;
       ЗаписьXML.УстановитьСтроку();
       ЗаписатьXML(ЗаписьXML, Источник);

       ЗаписьЖурналаРегистрации("РантаймЛог." + Источник.Метаданные().Имя,
           УровеньЖурналаРегистрации.Информация, Источник.Метаданные(), Источник,

           Строка(Пользователи.ТекущийПользователь()) + Символы.ПС + Символы.ПС +
           ЗаписьXML.Закрыть() + Символы.ПС + Символы.ПС +

           ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));

   КонецПопытки;

КонецПроцедуры
Поиск кода
0
комментарии
____________________
Copyright by 1Cnik.by©, «Программист 1С в г.Минске», 02.06.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому