Стандартный Журнал регистрации в системе 1С позволяет отслеживать критические изменения данных: создание, изменение или удаление объектов. Однако, если перед вами стоит задача отследить буквально каждое действие пользователя — открытие форм, просмотр справочников или нажатие кнопок — стандартных средств становится недостаточно. Давайте разберем, как подойти к решению этой задачи, используя различные технические методы.
Самый прямой, но трудоемкий путь — встраивание системы логирования непосредственно в программный код конфигурации. Этот метод подразумевает создание общего модуля, который будет записывать события в регистр сведений или текстовый файл.
Для реализации этого метода:
ЛогированиеДействий, в котором опишите функцию записи логов.Пример реализации функции записи логов:
Процедура ЗаписатьСобытие(ИмяСобытия, Данные) Экспорт
Запись = РегистрыСведений.ЛогАктивности.СоздатьМенеджерЗаписи();
Запись.Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Запись.МоментВремени = ТекущаяДата();
Запись.Событие = ИмяСобытия;
Запись.Описание = Данные;
Запись.Записать();
КонецПроцедуры
Важно: Этот метод приводит к значительному раздуванию базы данных и усложняет поддержку конфигурации, поэтому используйте его точечно, только для критически важных участков системы.
Если вам нужно «видеть всё» без внесения изменений в конфигурацию, отличным решением станет Технологический журнал. Он работает на уровне платформы и способен фиксировать любые вызовы методов, открытие форм и обращение к данным.
Для настройки необходимо создать конфигурационный файл logcfg.xml. Вы можете настроить фильтры так, чтобы фиксировать только события DBPROC, CALL или PROC. Основная сложность здесь — настройка фильтров, так как без них объем генерируемых логов может составлять гигабайты в час.
Современные инструменты, такие как Vanessa Automation, предоставляют механизмы записи действий пользователя (сценарное тестирование). Несмотря на то, что это предназначено для разработки автотестов, функциональность можно адаптировать для создания логов активности.
При использовании этого подхода система запоминает действия пользователя как последовательность шагов, которые можно сохранить в читаемом формате. Это позволяет не просто видеть «что» открывал пользователь, но и «в какой последовательности» это происходило.
Если цель — самоконтроль или отслеживание того, с чем работали вы сами, можно обратиться к механизму История текущего пользователя. Платформа 1С уже ведет учет объектов, которые открывал пользователь. Вы можете программно считать эти данные из хранилища и вывести их в отчет за день.
Для этого можно использовать методы работы с ХранилищеОбщихНастроек, где 1С сохраняет последние открытые формы. Напишите небольшую внешнюю обработку, которая будет выводить список последних открытых объектов из этого хранилища, что даст вам полноценный отчет по итогам рабочего дня.
Рассматривая задачу слежения, всегда оценивайте целесообразность выбранного метода:
Технологический журнал — это профессиональный инструмент администратора, не требующий изменения конфигурации.Подписки на события или Расширения конфигурации, чтобы перехватывать вызовы форм без прямого вмешательства в код объектов.Историю текущего пользователя или сторонние таск-менеджеры, так как они более гуманны и эффективны, чем тотальное логирование каждого «клики» мыши.Помните, что избыточное логирование замедляет работу системы. Всегда проводите нагрузочное тестирование перед внедрением любых систем мониторинга в промышленную эксплуатацию.