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

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

Как подключить историю изменений в 1С

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

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

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

Важно понимать ограничение: версионирование доступно не во всех конфигурациях. Оно встроено в типовые решения на базе БСП (1С:Бухгалтерия 8, 1С:Управление торговлей 11, 1С:ERP, 1С:Зарплата и управление персоналом и другие). В самописных конфигурациях механизм нужно внедрять отдельно или использовать альтернативные подходы, о которых рассказано ниже.

Что такое версионирование объектов и когда оно нужно

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

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

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

Подготовка: права, режим работы и ограничения

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

Учтите, что включение истории изменений увеличивает объём базы. Каждая версия — это снимок объекта, и при активной работе с массовыми документами (например, тысячи реализаций в день) хранилище версий растёт быстро. Поэтому важно заранее решить, какие именно объекты будут версионироваться, и настроить срок хранения версий.

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

Пошаговое включение истории изменений

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

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

После установки флажка система начинает записывать версии с момента включения — ретроспективно история не появляется. Это значит, что изменения, сделанные до активации механизма, восстановить через версии не получится.

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

Настройка списка версионируемых объектов

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

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

Какие объекты версионировать

Справочники (контрагенты, договоры, номенклатура)

Изменений немного, цена ошибки высокая. Рекомендуется включать почти всегда.

Ключевые документы (реализации, поступления, платежи)

Полезно для разбора споров, но при большом объёме следите за ростом базы.

Массовые операционные документы (чеки, ордера)

Обычно нецелесообразно: версий будет очень много, а практическая польза низкая.

Регистры и проводки напрямую

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

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

Как просматривать и восстанавливать версии

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

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

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

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

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

Команда в форме объекта
Норма

В меню «Ещё» есть пункт «История изменений»

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

Команды нет — версионирование для этого вида объектов не включено

Запись версий
Норма

После изменения и записи объекта в истории появляется новая строка с автором и датой

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

История пуста после нескольких правок — проверьте настройки и права

Сравнение версий
Норма

Отчёт о сравнении показывает различия по реквизитам

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

Ошибка при сравнении — возможно, повреждены данные версии или не хватает прав

Регламентное задание очистки
Норма

«Очистка устаревших версий объектов» выполняется по расписанию без ошибок

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

Задание отключено или завершается с ошибкой — хранилище будет расти

Если версионирования в конфигурации нет: альтернативы

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

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

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

Если нужна быстрая защита от случайных правок без внедрения, часто достаточно связки «журнал регистрации + дата запрета изменения данных». Дата запрета не даёт редактировать закрытые периоды, а журнал показывает, кто трогал актуальные документы. Это закрывает большинство бытовых сценариев без роста базы.
ПЗ
Практическое замечание

Типичные ошибки и ограничения механизма

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

Типичные ошибки
01
Включение версионирования для всех документов сразу — база быстро растёт, запись объектов замедляется, польза при этом не увеличивается.
02
Ожидание ретроспективной истории — версии пишутся только с момента включения, старые изменения не восстановить.
03
Отключённое регламентное задание очистки — устаревшие версии копятся годами и раздувают регистр.
04
Уверенность, что восстановление версии отменяет проведение — движения документа по регистрам нужно контролировать отдельно.
05
Отсутствие прав у пользователей на просмотр версий — история включена, но сотрудники её не видят, и механизм не работает как инструмент контроля.

Отдельно упомянем ограничения. Версионирование не фиксирует изменения, выполненные напрямую в базе минуя платформенные механизмы (внешние обработки с отключёнными подписками, прямые запросы к СУБД). Также не версионируются сами регистры — только объекты. Если критично отслеживать движения, придётся комбинировать инструменты.

Маршрут решения

Как выбрать действие

Нужно узнать, кто изменил документ, но содержимое не важноДостаточно журнала регистрации — версионирование включать не обязательно
Нужно восстанавливать старые значения справочников и договоровВключите версионирование для конкретных видов справочников
Конфигурация самописная, без БСПОбратитесь к разработчику для внедрения подсистемы или создания собственного механизма
База растёт слишком быстро после включенияСократите список версионируемых объектов и настройте срок хранения версий

FAQ: частые вопросы об истории изменений в 1С

Можно ли посмотреть историю изменений, сделанных до включения версионирования?

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

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

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

Кто может просматривать и восстанавливать версии?

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

Восстановление версии документа отменяет его проводки?

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

Как удалить накопленные версии и освободить место?

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

Работает ли версионирование в файловой базе?

Да, механизм одинаково работает и в файловом, и в клиент-серверном варианте. Различие только в том, что в файловой базе рост хранилища версий быстрее сказывается на размере файла 1Cv8.1CD, поэтому контроль сроков хранения там особенно важен.

Итог

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

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