Профессия — 1С » Журнал регистрации

Профессия — 1С

Рукопашный бой Карташ

Категории

-->

Журнал регистрации

рубрики: Разное | Дата: 4 мая, 2017

Начиная с самых ранних версий платформы в 1С имеется возможность протоколирования действий пользователя. Для этого используется журнал регистрации, просмотр которого доступен как в режиме конфигуратора, так и в режиме предприятия.
Кроме того у разработчика имеется возможность создавать записи в журнале регистрации программно, что может использоваться в отладочных целях, а также для протоколирования различных ошибочных ситуаций, например, в конструкции Попытка — Исключение. В этой статье рассмотрим работу с журналом регистрации как в пользовательском режиме, так и с использованием средств языка программирования 1С.

Настройка журнала регистрации

Для начала необходимо настроить журнал регистрации, т.е. определиться с тем какие события в нем будут регистрироваться. Для этого в режиме конфигуратора выбираем в меню Администрирование -> Настройка журнала регистрации


И в открывшемся диалоговом окне выбираем тот вариант который нас устраивает.


Также с помощью кнопки Сократить можно обрезать журнал регистрации, указав дату, ранее которой все записи будут удалены.

Работа с журналом регистрации в пользовательском режиме

Чтобы просмотреть события, зафиксированные в журнале регистрации его нужно открыть либо в конфигураторе, либо в режиме предприятия.
Кофигураторе для этого используется меню Администрирование -> Журнал регистрации.


В режиме предприятия все зависит от того в каком режиме запущено приложение.
Если это толстый клиент (обычное приложение) тогда мы найдем журнал в меню Сервис -> Журнал регистрации


Для управляемого приложения необходимо выбрать в меню Все функции (в свою очередь этот пункт меню должен быть включен в настройках) и в открывшемся окне в разделе Стандартные выбрать Журнал регистрации


Выглядит журнал (после открытия в конфигураторе) следующим образом


Здесь в хронологическом порядке представлены действия всех пользователей с различными объектами базы данных. Как правило журнал регистрации используется для расследования конфликтных ситуаций, когда в случае неправильных данных все пользователи кричат: «Это не я!» и необходимо понять кто же все таки накосячил. Однако стоит отметить, что не всегда можно посмотреть кто ввел неправильные данные. Так, например, когда изменения вносились в табличную часть несколькими пользователями невозможно определить кто из них не прав, т.к. в записях будет информация только об изменении документа в целом. Кто редактировал конкретный реквизит или конкретную строку табличной части посмотреть не представляется возможным.
Очевидно, что при активной работе пользователей записей в журнале очень много. А нас как правило интересует какой-то конкретный документ (элемент справочника и т.д.). И листая вручную мы вряд ли найдем нужную информацию. Для этого нужно установить отбор, нажав на соответствующую кнопку в командной панели журнала. В нижней части окна отбора можно выбрать способ отбора событий: Фильтровать динамически и Отобрать стразу. Рекомендую выбирать пункт Отобрать стразу, т.к. с динамической фильтрацией отбор работает очень долго. Также можно выбрать временной интервал внутри которого будут отбираться записи.


Как правило далее используется закладка Данные на которой мы можем установить отбор по виду метаданных и даже для конкретного объекта базы данных.


Вышеприведенные картинки соответствуют режиму конфигуратора и обычному приложению. В режиме управляемого приложения интерфейс отличается, но принципы работы и функционал остаются теми же.

Программная работа с журналом регистрации

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




&НаСервере
Процедура СоздатьЗаписьЖРНаСервере()

	ЗаписьЖурналаРегистрации("ИмяСобытия - информация об ошибке",
							УровеньЖурналаРегистрации.Ошибка,,,
							"Это комментарий");

КонецПроцедуры

Для упрощения часть необязательных параметров пропущены.
А теперь в заключение посмотрим на результат работы этой процедуры:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

   

2014 - 2024г. Профессия — 1С. Обмен опытом по программированию в 1С