Кто менял данные: разбор журнала регистрации по сеансам
База данных - Журнал регистрации
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Зачем
Знакомая ситуация: документы переписаны, а кто это сделал, непонятно. История версий у них пуста, журнал регистрации во всех строках показывает одно имя, потому что все работают под общей учетной записью, и список обрывается, не дойдя до самого раннего изменения.
Типовая форма журнала показывает 200 записей по умолчанию и не больше 10 000 при любой настройке. Ограничение живет в форме, а платформенный метод чтения журнала количество записей не требует вовсе.
Что делает обработка
Читает журнал регистрации за указанный период целиком, без ограничения по количеству, и собирает изменения данных по сеансам. На проверочной базе 116 595 записей прочитались за 25 секунд.
По каждому сеансу видно:
- компьютер: под общей учетной записью именно имя машины и отличает одного человека от другого;
- когда сеанс начат и в какие минуты он менял данные;
- сколько объектов задето;
- какие документы записаны, отдельной колонкой, чтобы не искать их среди сотен служебных записей регистров;
- полный путь к запущенной внешней обработке, вместе с каталогом.
Двойной клик по строке разворачивает ленту этого сеанса по минутам. Выглядит она так:
29.09.2026 13:25:08 · ЗАПУЩЕНА ВНЕШНЯЯ ОБРАБОТКА · D:\Обработки\ПеренумерацияДокументов.epf 29.09.2026 13:25:09 · Документ. Авансовый отчет · Авансовый отчет ПЕР-00001 от 09.03.2016 29.09.2026 13:25:09 · Документ. Акт сверки расчетов · Акт сверки ПЕР-00002 от 19.02.2016 29.09.2026 13:25:09 · Документ. Ввод остатков · Ввод остатков ПЕР-00003 от 31.12.2015
Отсюда сразу видно, чем правили и что именно переписали.
Про номер сеанса
Номер сеанса платформа переиспользует: он уникален только среди живых сеансов, а не за всю историю базы. На проверочной базе за одну неделю сеанс с номером 1 на одной машине стартовал 582 раза. Если группировать записи по паре «номер и компьютер», в одну строку слипнутся сотни разных сеансов разных людей, и разбор развалится.
Поэтому мы опознаем сеанс тройкой «номер, компьютер, время старта»: обработка читает события старта сеанса вместе с изменениями и режет по ним. На той же неделе группировка по паре дает 114 строк, по тройке — 616.
Как пользоваться
- Открыть обработку, задать период. По умолчанию стоит последняя неделя.
- Нажать «Заполнить».
- Найти нужный сеанс. Список отсортирован по времени последнего изменения, свежее сверху.
- Развернуть ленту по минутам: двойной клик по строке или кнопка «Что делал этот сеанс».
Два необязательных отбора: по имени пользователя и по объекту («Объект содержит: Реализация» оставит только записи, где в представлении метаданных встречается это слово).
В базу ничего не пишет
Обработка только читает журнал регистрации. Я проверил это тремя независимыми способами:
- в коде нет ни одного вызова записи;
- журнал за окно прогона не содержит ни документов, ни справочников, ни регистров учета: все четыре события изменения данных в нем оказались записями служебных регистров библиотеки стандартных подсистем, которые пишутся при входе в программу;
- в базе включена и проверена попыткой общая дата запрета изменения: запись документа под ней отклоняется. Под этим же запретом обработка отработала штатно. Значит, писать ей нечего.
Требования
Платформы 8.3 и 8.5: обработка собрана и запущена на 8.3.27.2214 и 8.5.1.1343.
Библиотека стандартных подсистем не нужна: в коде только платформенные методы. Проверил запуском в двух конфигурациях: Бухгалтерия предприятия 3.0.206 и Управление торговлей 11.5.22.
Журнал регистрации должен быть включен, и в его настройках должны регистрироваться события изменения данных. Если за период ничего не нашлось, проверяйте в первую очередь это.
Чего обработка не утверждает
Журнал хранит путь к файлу обработки, но не то, что эта обработка делала. Связь «запустили обработку, она переписала документы» видна по совпадению сеанса и времени, но сам журнал ее не подтверждает. Если в одном сеансе запустили две обработки и что-то поправили руками, все три факта встанут в ленте рядом, а какой из них чей — решать вам.
Вступайте в нашу телеграмм-группу Инфостарт