Как найти документы, которые были перепроведены в закрытом периоде?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

Ситуация, когда в закрытом периоде внезапно меняются данные, знакома многим администраторам и специалистам 1С. Когда стандартный «Запрет изменения данных» не сработал или был проигнорирован, возникает необходимость вычислить «виновника» — документ, который был изменен или перепроведен задним числом. Рассмотрим, как проанализировать историю изменений и найти нарушителя.

Почему стандартный отчет может не работать?

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

Решение через прямой запрос к регистру сведений

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

Для поиска документов, дата которых попадает в закрытый период, а версия была создана позже, используем консоль запросов 1С. Напишем код запроса, который сопоставит дату документа и дату создания версии:


ВЫБРАТЬ
    ВерсииОбъектов.Объект КАК Документ,
    ВерсииОбъектов.НомерВерсии,
    ВерсииОбъектов.ДатаВерсии,
    ВерсииОбъектов.АвторВерсии
ИЗ
    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
    ВерсииОбъектов.ДатаВерсии МЕЖДУ &ДатаВерсии1 И &ДатаВерсии2
    И ВерсииОбъектов.Объект.Дата МЕЖДУ &Дата1 И &Дата2

Пояснения к работе запроса:

Альтернативные способы анализа

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

  1. Анализ Журнала регистрации: Выгрузите журнал регистрации в отдельный файл .lgf. С помощью внешних утилит или программного кода 1С отфильтруйте события с типом «Данные.Модификация» или «Данные.Проведение» для объектов, входящих в закрытый период.
  2. Сравнение с резервной копией: Если у вас есть бэкап базы данных на момент сразу после закрытия периода, вы можете сравнить текущие движения документов с эталонными. Это потребует создания внешней обработки, которая пройдет по табличным частям документов и сравнит их с выгрузкой из копии.
  3. Настройка прав доступа: Чтобы предотвратить подобные инциденты в будущем, проверьте профили групп доступа. Убедитесь, что у пользователей нет права на «Интерактивное проведение» или «Редактирование» документов в закрытых периодах, даже если для них установлена общая «Дата запрета изменения данных».

Рекомендации по эксплуатации

Для эффективной работы с историей изменений рекомендуем:

Надеемся, эти рекомендации помогут вам быстро найти источник изменений и навести порядок в документах закрытого периода. Помните, что прямой запрос к РегистрСведений.ВерсииОбъектов — это ваш главный инструмент в случаях, когда интерфейсные решения показывают «пустоту».

← На главную