Администрирование · 11 мин
Как узнать в 1С, кто последний изменял документ
Как узнать в 1С, кто последний изменял документ: история изменений, журнал регистрации, версионирование объектов и типовые ошибки при поиске автора правки.
Узнать, кто последним изменял документ в 1С, можно прямо из карточки объекта: откройте его, перейдите в меню «Ещё» и выберите пункт «История изменений» — система покажет пользователя, дату и время правки. Если стандартная история не ведётся, помогут журнал регистрации с фильтром по событию «Данные. Изменение» и механизм версионирования объектов, который дополнительно сохраняет, какие именно реквизиты были скорректированы.
Ключевой момент: возможность увидеть автора правки зависит от того, была ли база заранее настроена на отслеживание изменений. Если журнал регистрации ведётся (а по умолчанию он включён), автор действия найдётся почти всегда. Если же нужна не только личность пользователя, но и сами старые значения реквизитов — понадобится версионирование, которое включается отдельно.
Ниже разобраны все основные способы: от простой кнопки «История изменений» в типовых конфигурациях до анализа журнала регистрации и программного запроса. Отдельно описаны ограничения каждого метода и типичные ошибки, из-за которых поиск автора правки заканчивается ничем.
Способ 1. Кнопка «История изменений» в форме документа
В типовых конфигурациях на базе Библиотеки стандартных подсистем (1С:Бухгалтерия, Управление торговлей, ERP, Зарплата и управление персоналом и другие) в форме документа есть команда «История изменений». Обычно она находится в меню «Ещё» в правой части командной панели формы. Откройте документ, нажмите «Ещё» и выберите «История изменений» — появится таблица версий с указанием пользователя, даты и времени каждой правки.
Самая верхняя строка списка — последняя версия, то есть в первой колонке сразу видно, кто изменял документ последним. Если выделить конкретную версию, можно открыть отчёт по изменениям: система покажет, какие реквизиты, табличные части и значения были затронуты, а при выборе двух версий — сравнит их между собой.
Важное условие: эта кнопка работает только если в программе включено версионирование объектов. Если команда есть, но список версий пуст, значит, на момент правок механизм был выключен, и истории по старым изменениям не существует — восстановить её задним числом нельзя.
- 1Откройте нужный документ в списке документов
- 2Нажмите кнопку «Ещё» в командной панели формы
- 3Выберите пункт «История изменений»
- 4Посмотрите верхнюю строку — это последняя версия с именем пользователя и временем
- 5При необходимости откройте отчёт по изменениям, чтобы увидеть, какие поля затронуты
Способ 2. Журнал регистрации — универсальный метод
Журнал регистрации — системный механизм платформы, который фиксирует действия пользователей независимо от настроек конфигурации. Он работает и в файловых, и в клиент-серверных базах. Чтобы открыть его в режиме предприятия, перейдите: главное меню → «Все функции» → «Стандартные» → «Журнал регистрации». В некоторых интерфейсах он доступен через раздел «Администрирование» → «Обслуживание» → «Журнал регистрации».
Чтобы найти правки конкретного документа, настройте отбор. Нажмите кнопку отбора, установите период (чем уже, тем быстрее отработает поиск), в поле «Данные» укажите ссылку на документ или его представление, а в событиях выберите «Данные. Изменение» и «Данные. Добавление». В результате останутся только записи о создании и изменениях этого объекта — в колонке «Пользователь» будет видно автора каждой операции, а отсортировав по дате, вы определите последнего.
Обратите внимание на колонку «Компьютер» и «Сеанс»: если несколько сотрудников работают под одной учётной записью (что само по себе плохая практика), по имени пользователя виновника не установить, но можно сузить круг по компьютеру и времени. Также журнал показывает, было ли изменение интерактивным или выполнено обработкой, обменом данными либо фоновым заданием — это помогает отличить ручную правку от автоматической.
Способ 3. Версионирование объектов — видно не только кто, но и что изменил
Простое знание автора правки часто недостаточно: нужно понять, что именно он поменял. Для этого в типовых конфигурациях предусмотрено версионирование объектов. Включить его может пользователь с правами администратора: раздел «НСИ и администрирование» (или «Администрирование») → «Общие настройки» → группа «История изменений» / «Версионирование объектов». Там задаётся, для каких видов документов и справочников хранить версии и сколько времени их хранить.
После включения система при каждой записи объекта сохраняет его снимок. Открыв историю изменений документа, вы видите не только автора и время, но и полный состав правок: старые и новые значения реквизитов, изменённые строки табличных частей. Это самый информативный способ разбирательства, когда нужно доказательно показать, кто и что исправил.
Ограничения метода: версии начинают накапливаться только с момента включения настройки, старые правки задним числом не восстанавливаются. Кроме того, хранение версий увеличивает объём базы, поэтому для массовых документов имеет смысл ограничивать срок хранения, а не копить версии бесконечно.
Способ 4. Программный поиск через запрос и отбор журнала
Для разработчиков и администраторов, которым нужен массовый анализ (например, кто изменял все документы реализации за месяц), удобнее программный доступ. Метод глобального контекста ВыгрузитьЖурналРегистрации() позволяет выгрузить события в таблицу значений с фильтром по данным, пользователю и виду события, после чего результат можно обработать и вывести в отчёт.
Пример фильтра: создаётся структура отбора, где указывается массив событий изменения данных, ссылка на документ и период. Полученная таблица содержит поля «Дата», «Пользователь», «ПредставлениеДанных», «Компьютер» — этого достаточно, чтобы построить отчёт «кто последний менял каждый документ». Для разовой задачи проще воспользоваться интерактивным журналом, программный путь оправдан при регулярном контроле.
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", НачалоДня(ТекущаяДата()) - 7*86400);
Отбор.Вставить("ДатаОкончания", ТекущаяДата());
Отбор.Вставить("Данные", СсылкаНаДокумент);
События = Новый Массив;
События.Добавить("_$Data$_.Update");
Отбор.Вставить("Событие", События);
ТаблицаСобытий = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(ТаблицаСобытий, Отбор);Почему автора правки найти не удаётся: ограничения и причины
Самая частая причина «пустого» поиска — работа всех сотрудников под одной учётной записью. В этом случае журнал регистрации честно показывает одного и того же пользователя на всех правках, и установить конкретного человека технически невозможно. Единственный задел на будущее — завести каждому сотруднику отдельную учётную запись, это базовое требование разграничения ответственности.
Вторая причина — изменения, выполненные обменом данными или внешней обработкой. Тогда в журнале фигурирует пользователь, под которым работает сеанс обмена (например, служебная учётная запись синхронизации), а реальный инициатор правки находится в другой базе. В такой ситуации искать нужно в журнале регистрации связанной системы или в настройках плана обмена.
Третья причина — сокращённый журнал регистрации. Если администратор периодически сокращает журнал или настроено хранение только ошибок, события изменения данных могут отсутствовать. Проверьте настройку уровня регистрации событий: для отслеживания правок должны регистрироваться события доступа к данным.
Как проверить результат и закрепить контроль на будущее
Чтобы убедиться, что вы нашли именно последнее изменение, сверьте три признака: дата и время события в журнале должны быть максимальными среди всех записей по документу, версия в истории изменений — верхней в списке, а текущие значения реквизитов документа должны совпадать со снимком последней версии. Если расходятся — значит, после этой версии были ещё правки, не попавшие в выборку, и стоит расширить период отбора.
Для постоянного контроля рекомендуется комплекс мер: включить версионирование для критичных видов документов (поступления, реализации, кассовые и банковские документы), обеспечить каждому сотруднику персональную учётную запись, настроить разумный срок хранения журнала регистрации и периодически проверять, что эти механизмы активны. Тогда вопрос «кто изменил документ» решается за минуту, а не превращается в расследование.
Как проверить результат
Дата версии совпадает с последним событием изменения в журнале регистрации
В журнале есть события новее последней версии — версионирование включено не для всех операций или версии очищены
Указана персональная учётная запись сотрудника
Стоит служебный пользователь обмена или общая учётная запись — реального автора так не установить
Отчёт по версии показывает конкретные изменённые реквизиты и значения
Версия есть, но состава правок нет — проверьте настройки хранения версий
Частые вопросы
Можно ли узнать автора правки, если версионирование не включено?
Да, частично. Журнал регистрации фиксирует изменения независимо от версионирования, поэтому имя пользователя и время правки обычно доступны. Но увидеть, какие именно значения были изменены, без версий нельзя.
Почему в истории изменений указан пользователь, который в тот день не работал?
Скорее всего, документ был изменён автоматически: обменом данными, фоновым заданием или обработкой, запущенной под этой учётной записью. Проверьте в журнале регистрации тип сеанса и событие — там видно, было ли действие интерактивным.
Видно ли, кто отменил проведение документа?
Да. Отмена проведения — это тоже изменение объекта, она фиксируется в журнале регистрации как изменение данных и создаёт новую версию при включённом версионировании. Отфильтруйте события изменения по документу и найдите запись в нужное время.
Как долго хранятся данные об изменениях?
Срок зависит от настроек конкретной базы: для версий объектов он задаётся в настройках версионирования, для журнала регистрации — административными настройками его сокращения. Единого стандартного срока нет, поэтому разбирательство лучше проводить сразу после обнаружения проблемы.
Можно ли узнать автора изменения элемента справочника, а не документа?
Да, механизмы те же: версионирование в типовых конфигурациях поддерживает и справочники, а журнал регистрации фиксирует изменения любых объектов. Отбор в журнале настраивается по ссылке на конкретный элемент справочника.
Что делать, если кнопки «История изменений» нет в форме документа?
Либо конфигурация не содержит механизма версионирования (нетиповая или самописная), либо у вас недостаточно прав. В обоих случаях используйте журнал регистрации — он доступен независимо от конфигурации при наличии соответствующих прав.
Что важно запомнить
Автора последней правки быстрее всего показывает «История изменений» в форме документа, а универсальный запасной вариант — журнал регистрации с отбором по данным. Версионирование нужно включить заранее, иначе виден будет только факт правки, но не её содержимое. Персональные учётные записи и разумные сроки хранения журнала — условие, без которого установить виновника часто невозможно.