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