Как посмотреть историю изменений расходной накладной в 1С: Журнал регистрации и Версионирование объектов

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

В процессе ежедневного ведения учета в любой торговой или производственной компании часто возникает необходимость выяснить, кто из сотрудников скорректировал проведенный документ. Ситуации бывают разными: изменилась итоговая сумма в Расходной накладной, пропала важная позиция номенклатуры из табличной части или сменился контрагент-получатель. В таких случаях перед администратором или ответственным пользователем встают классические вопросы: «Кто изменил?», «Когда это произошло?» и, самое главное, «Что именно было скорректировано?».

В рамках данной статьи мы подробно разберем два основных инструмента платформы 1С, которые позволяют распутать цепочку изменений: стандартный Журнал регистрации и мощный механизм Версионирование объектов. Мы по шагам рассмотрим особенности их настройки и использования в таких популярных конфигурациях, как 1С:УНФ (Управление нашей фирмой) и 1С:УПП (Управление производственным предприятием), а также проанализируем технические риски, связанные с хранением истории изменений.

Почему Журнал регистрации не подходит для детального анализа изменений?

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

Давайте проанализируем, какую именно информацию предоставляет нам Журнал регистрации при редактировании документа:

  1. Метаданные события: Точная дата и время совершения операции.
  2. Идентификация пользователя: Имя пользователя в системе, его компьютер, а также сеанс, в рамках которого было выполнено действие.
  3. Тип события: В журнале будет зафиксирована транзакция с типом Данные.Изменение или Данные.Проведение.
  4. Ссылка на объект: Прямая ссылка на измененную Расходную накладную.

Главное ограничение Журнала регистрации: он абсолютно «слеп» к внутреннему содержимому объекта на момент записи. Программа честно сообщит вам, что пользователь Иванов перезаписал накладную в 14:32. Но вы никогда не узнаете из журнала, уменьшил ли он цену товара, удалил ли ключевые строки спецификации или просто перевыбрал договор. Вся внутренняя структура документа и история изменения реквизитов остаются за рамками этого инструмента. Именно поэтому для полноценного аудита нам необходим другой инструмент — Версионирование объектов.

Как работает Версионирование объектов (История изменений)?

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

Рассмотрим техническую суть работы данного механизма:

  1. Сериализация данных: В момент, когда пользователь нажимает кнопку «Записать» или «Провести» (в зависимости от настроек), система автоматически считывает все реквизиты документа и строки его табличных частей.
  2. Сохранение XML-копии: Полученные данные преобразуются в текстовый формат XML (сериализуются) и упаковываются в сжатый архив.
  3. Запись в регистр: Этот XML-пакет записывается в специальный служебный регистр сведений (обычно это Версии объектов или История изменений), привязываясь к уникальному идентификатору версии, автору изменения и времени сохранения.
  4. Визуализация разницы: При необходимости сравнить версии система берет два XML-файла, сопоставляет их структуру и генерирует для пользователя наглядный отчет. В этом отчете измененные реквизиты (например, склад, сумма, контрагент) подсвечиваются особым цветом, удаленные строки табличной части зачеркиваются, а добавленные — выделяются зеленым цветом.

Давайте выясним, как настроить этот функционал в различных конфигурациях 1С.

Настройка Версионирования объектов в 1С:УНФ (Управление нашей фирмой)

В современных решениях на базе управляемых форм и Библиотеки стандартных подсистем (БСП), таких как 1С:УНФ, механизм версионирования встроен по умолчанию. Администратору базы данных не требуется вносить изменения в конфигурацию через конфигуратор — все настройки выполняются непосредственно в пользовательском режиме.

Разберем процесс настройки по шагам:

  1. Активация подсистемы: Перейдем в раздел Компания, далее выберем пункт Еще больше возможностей. В открывшемся окне найдем подраздел Администрирование (или Общие настройки в зависимости от релиза вашей конфигурации) и установим флажок напротив опции Хранить историю изменений (или Версионирование объектов).
  2. Переход к правилам хранения: Рядом с установленным флажком появится гиперссылка Настройки. Нажмем на нее, чтобы перейти к списку объектов метаданных, для которых мы можем индивидуально настроить правила фиксации изменений.
  3. Поиск документа: В открывшемся списке найдем документ Расходная накладная.
  4. Выбор режима версионирования: Нам будет предложено несколько вариантов записи версий:
    • Не версионировать — история изменений документа записываться не будет (режим по умолчанию).
    • Версионировать при записи — новая версия создается при каждом нажатии кнопки «Записать». Это позволяет отслеживать даже промежуточные черновики, но сильно увеличивает объем базы данных.
    • Версионировать при проведениирекомендуемый режим для документов. В этом случае первая версия запишется только тогда, когда документ будет успешно проведен. Если в дальнейшем пользователь решит изменить уже проведенный документ, программа зафиксирует новую версию при повторном проведении или отмене проведения.
    • Версионировать по умолчанию — использование стандартных настроек системы.
  5. Сохранение настроек: Установим для документа Расходная накладная режим Версионировать при проведении и закроем форму настроек.

После выполнения этих действий система начнет усердно протоколировать каждое изменение. Чтобы посмотреть историю непосредственно из формы самой Расходной накладной, пользователю достаточно нажать на кнопку Еще в командной панели документа и выбрать пункт История изменений. В открывшемся окне можно будет выбрать две любые версии, нажать кнопку Сравнить и детально проанализировать, кто и что скорректировал. Более того, при необходимости можно нажать кнопку Перейти на версию, и система автоматически перезаполнит документ данными из выбранного архивного состояния.

Особенности настройки версионирования в 1С:УПП 1.3 (Управление производственным предприятием)

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

Рассмотрим, как настроить версионирование в 1С:УПП:

  1. Где находится настройка: В интерфейсе «Полный» перейдем по пути: Сервис -> Настройка учета -> Версионирование объектов.
  2. Включение для накладной: В табличном поле со списком документов найдем Расходная накладная (в УПП данный документ также может называться Реализация товаров и услуг) и установим для него флажок активности, задав режим создания версий (например, При проведении).

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

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

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

Проанализируем ключевые факторы риска:

  1. Лавинообразный рост базы данных: Каждая сохраненная версия — это полная копия документа в формате XML, включая все его многочисленные строки табличной части (товары, услуги, тара, возвратные отходы). Если в вашей компании ежедневно выписываются сотни накладных, в каждой из которых содержатся десятки и сотни позиций, и эти накладные регулярно перепроводятся в течение дня (например, при корректировке логистики), то служебный регистр сведений Версии объектов очень быстро станет самой тяжелой таблицей в вашей базе данных. Это приведет к быстрому исчерпанию дискового пространства на сервере СУБД.
  2. Снижение производительности СУБД: Процесс сериализации объекта в XML и последующая запись сжатого бинарного пакета в базу данных требуют значительных вычислительных ресурсов процессора и создают дополнительную нагрузку на дисковую подсистему в момент проведения документа. Это может приводить к увеличению времени ожидания блокировок при коллективной работе пользователей.

Как минимизировать эти риски и оптимизировать работу системы? Разберем лучшие практики администрирования:

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

← На главную