К статье
Практический материал

Администрирование · 9 мин

Как узнать в 1С, кто изменил документ

Как узнать в 1С, кто изменил документ: просмотр через журнал регистрации, настройка версионирования объектов, история изменений в типовых конфигурациях.

Узнать, кто изменил документ в 1С, можно через журнал регистрации — штатный инструмент платформы 1С:Предприятие 8, доступный во всех конфигурациях. Он фиксирует каждое действие пользователя: кто открыл документ, что именно поменял и когда. Если в проведённой накладной вдруг изменилась сумма, количество товара или дата, не нужно опрашивать сотрудников — достаточно открыть журнал и отфильтровать события по нужному объекту.

Есть два основных способа выяснить, кто изменил документ. Первый — журнал регистрации, который ведётся автоматически и показывает, какой пользователь и когда записывал или изменял объект. Второй — механизм версионирования объектов, который дополнительно сохраняет сами версии документа и позволяет увидеть, что именно поменялось. Версионирование нужно включать заранее, журнал регистрации работает всегда.

Важно понимать ограничения: журнал регистрации показывает факт изменения и автора, но по умолчанию не показывает, какие именно реквизиты были изменены. Для детального анализа «было — стало» нужен либо включённый механизм версионирования, либо специальные отчёты и обработки.

Как найти изменения документа через журнал регистрации

Журнал регистрации — это системный механизм платформы, который фиксирует действия пользователей: вход в систему, запись и изменение объектов, ошибки. Он включён по умолчанию и не требует настройки для базовых событий.

Порядок действий в типовой конфигурации (например, «Бухгалтерия предприятия» или «Управление торговлей»): откройте меню Администрирование → Журнал регистрации. В файловой базе без типового интерфейса журнал доступен через конфигуратор: Администрирование → Журнал регистрации.

В открывшемся окне нажмите кнопку Отбор и настройте фильтр:

  • в поле «Событие» выберите «Данные. Изменение» (можно добавить «Данные. Добавление» и «Данные. Удаление»);
  • в поле «Данные» укажите конкретный документ — введите его тип и номер;
  • при необходимости ограничьте период и укажите конкретного пользователя.

После применения отбора в списке останутся только события изменения этого документа. В каждой строке видно: дату и время, имя пользователя, компьютер, с которого выполнялось действие, и тип события. Если документ изменялся несколько раз, вы увидите всю цепочку изменений с авторами каждого.

Порядок действий
  1. 1
    Откройте Администрирование → Журнал регистрации
  2. 2
    Нажмите «Отбор» и выберите событие «Данные. Изменение»
  3. 3
    В поле «Данные» укажите нужный документ
  4. 4
    Примените отбор и изучите список: пользователь, дата, время
  5. 5
    Для деталей «что изменилось» проверьте, включено ли версионирование

Как посмотреть историю изменений прямо из документа

В типовых конфигурациях на библиотеке стандартных подсистем (БСП) есть удобная команда «История изменений», доступная прямо из формы документа. Она работает, если для данного вида документов включено версионирование.

Откройте документ и найдите кнопку Ещё → История изменений (иногда команда называется «Версии объекта»). Откроется список версий с указанием автора и времени каждой записи. Выбрав две версии, можно сравнить их и увидеть, какие реквизиты и строки табличных частей поменялись — старые и новые значения будут подсвечены.

Если команды «История изменений» нет, значит версионирование для этого объекта не настроено. В этом случае остаётся только журнал регистрации, который покажет автора изменения, но не содержимое правки.

Как включить версионирование объектов

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

Перейдите в Администрирование → Общие настройки (в некоторых конфигурациях — «Настройки программы») и найдите раздел «Версионирование объектов». Установите флаг «Версионировать объекты» и в таблице ниже для нужных видов документов выберите режим «Версионировать». Доступны также режимы «Не версионировать» и «Версионировать при проведении».

Учтите, что версионирование увеличивает объём базы: каждая запись документа создаёт новую версию. Для массово изменяемых документов (например, заказов, которые правятся по несколько раз в день) стоит включать механизм осознанно и периодически очищать старые версии через настройку сроков хранения, если она предусмотрены в конфигурации.

Что делать, если журнал регистрации ничего не показывает

Иногда отбор в журнале регистрации возвращает пустой список, хотя документ точно менялся. Причин несколько.

Первая — уровень регистрации событий. В конфигураторе в настройках журнала регистрации (Администрирование → Настройка журнала регистрации) может быть установлен режим «Не регистрировать» или регистрация только ошибок. Проверьте, что выбран вариант, включающий регистрацию изменения данных.

Вторая причина — урезание журнала. Старые события могли быть удалены при сокращении журнала (функция «Сократить») или при выгрузке. Если изменение произошло давно, а журнал регулярно чистится, записи могли не сохраниться.

Третья причина — изменения выполнялись не через интерфейс. Обмены данными, фоновые задания и обработки могут изменять объекты от имени служебного пользователя или без интерактивного сеанса. В журнале такие события будут привязаны к пользователю, под которым работал механизм обмена, а не к реальному инициатору.

Типичные ошибки
01
Искать по всему журналу без отбора — в большой базе это долго и неудобно, всегда настраивайте фильтр по документу
02
Путать пользователя обмена с реальным виновником — изменения через обмен записываются на служебную учётную запись
03
Ждать истории изменений без включённого версионирования — журнал регистрации не хранит значения реквизитов
04
Забыть, что журнал могли сократить — старые события физически отсутствуют

Как ограничить возможность изменения документов

После того как виновник найден, логично предотвратить повторение ситуации. В типовых конфигурациях для этого есть несколько механизмов.

Дата запрета изменения данных (Администрирование → Даты запрета изменения данных) блокирует редактирование документов за закрытый период. Можно задать общую дату для всех или индивидуальные даты для отдельных пользователей и разделов учёта.

Роли и права доступа позволяют запретить конкретным пользователям изменение определённых видов документов, оставив только просмотр. Настраивается через профили групп доступа в разделе «Администрирование → Настройки пользователей и прав».

Дополнительно в ряде конфигураций есть механизм согласования и статусов документов: документ в статусе «Согласован» становится недоступным для редактирования обычными пользователями. Это снижает риск случайных правок после утверждения.

Отличия в файловой и клиент-серверной базах

Сам механизм журнала регистрации одинаков, но есть практические различия. В файловой базе журнал хранится в файле 1Cv8.lgd рядом с базой; при большом объёме отборы могут выполняться медленно. В клиент-серверном варианте журнал хранится в формате SQLite (каталог srvinfo), и работа с ним обычно быстрее.

В клиент-серверных базах также проще организовать регулярную выгрузку журнала регистрации во внешний архив — это полезно для длительного хранения истории действий пользователей, если того требуют внутренние регламенты безопасности.

Контрольные точки

Как проверить результат

Отбор в журнале регистрации
Норма

В списке видны события изменения с пользователем и временем

Тревожный признак

Список пуст — проверьте уровень регистрации и период

Команда «История изменений» в документе
Норма

Открывается список версий с возможностью сравнения

Тревожный признак

Команды нет — версионирование не включено

Автор изменения
Норма

Указан конкретный пользователь с реальным сеансом

Тревожный признак

Стоит служебный пользователь обмена — правка пришла из другой системы

Часто задаваемые вопросы

Можно ли узнать, какие именно поля документа изменил пользователь?

Штатно — только если для этого вида документов заранее было включено версионирование объектов: тогда версии можно сравнить и увидеть изменённые реквизиты. Журнал регистрации сам по себе хранит только факт изменения, автора и время, но не значения полей.

Как узнать, кто удалил документ?

В журнале регистрации установите отбор по событию «Данные. Удаление» и укажите документ. В списке будет видно, кто и когда выполнил удаление. Если документ был только помечен на удаление, ищите событие «Данные. Изменение» — пометка удаления регистрируется как изменение объекта.

Видно ли в журнале изменения, сделанные через обмен данными?

Да, такие изменения регистрируются, но автором будет пользователь, под которым работает сеанс обмена (часто служебная учётная запись). Чтобы найти реального инициатора, придётся анализировать данные в системе-источнике или логи обмена.

Может ли пользователь удалить записи о своих действиях из журнала?

Штатными средствами режима «Предприятие» — нет, у обычных пользователей нет инструментов редактирования журнала. Сократить журнал может администратор через конфигуратор, поэтому доступ в конфигуратор стоит ограничивать узким кругом лиц.

Замедляет ли версионирование работу базы?

При включении версионирования на массово изменяемых документах база растёт быстрее, а запись объектов занимает немного больше времени. На практике для документов с умеренной частотой правок влияние незаметно, но включать версионирование «на всё подряд» не рекомендуется.

Что делать, если нужно отслеживать изменения детальнее, чем позволяют штатные средства?

Можно использовать подписки на события с записью изменений в собственный регистр — это требует доработки конфигурации разработчиком. Такой журнал аудита позволяет фиксировать старые и новые значения любых реквизитов независимо от версионирования.

Итог

Что важно запомнить

Автора изменения документа показывает журнал регистрации с отбором по событию «Данные. Изменение». Содержимое правок видно только при включённом версионировании объектов — включите его заранее для критичных документов. Для профилактики используйте даты запрета изменения и настройку прав доступа.