Администрирование · 10 мин
Версия данных в 1С: что это такое и как ею пользоваться
Что такое версия данных в 1С, где она хранится, как включить историю изменений объектов, восстановить старую версию и очистить накопленные данные.
Версия данных в 1С — это сохранённое состояние объекта базы (документа, элемента справочника) на определённый момент времени. Когда пользователь изменяет документ, механизм версионирования фиксирует, что именно было до изменения, кто и когда внёс правку. Благодаря этому можно посмотреть историю изменений, сравнить две версии между собой и при необходимости вернуть объект к прежнему состоянию.
Термин «версия данных» встречается в 1С в двух разных смыслах, и их важно различать. Первый — это версионирование объектов: подсистема «История изменений» в типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП), которая сохраняет снимки данных. Второй — техническая версия объекта в базе: внутренний счётчик, который платформа увеличивает при каждой записи и который используется для контроля конкурентного доступа и обменов данными. Оба смысла разобраны ниже.
Практическая ценность механизма проста: если бухгалтер случайно изменил контрагента в накладной, а менеджер перезаписал карточку товара, история версий позволяет понять, кто это сделал, и откатить ошибку без восстановления всей базы из резервной копии. Это экономит часы работы и снижает риск потери данных.
Что такое версия данных простыми словами
Представьте документ «Реализация товаров», который за день редактировали три человека: менеджер поменял количество, кладовщик — склад, бухгалтер — договор. Без версионирования виден только итоговый результат, и выяснить, кто «сломал» документ, почти невозможно. С включённой историей изменений каждая запись документа оставляет след: дата, пользователь, старые и новые значения реквизитов.
Каждая версия — это не копия всей базы, а компактно сохранённое состояние одного объекта. Платформа хранит версии в специальном регистре сведений (в типовых конфигурациях это регистр «Версии объектов») в сериализованном виде. Пользователь видит их как список с датами и авторами, может открыть любую версию на просмотр, сравнить с текущей и восстановить.
Где в 1С встречается понятие «версия данных»
История изменений объектов
В типовых конфигурациях (1С:Бухгалтерия, 1С:ERP, 1С:Управление торговлей, ЗУП и других на базе БСП) есть подсистема «Версионирование объектов». Она включается администратором и работает для выбранных видов документов и справочников. После включения в форме объекта появляется команда «История изменений», а в журнале — возможность открыть список версий.
Техническая версия объекта (DataVersion)
На уровне платформы у каждого объекта базы есть служебное поле «Версия данных» — числовой счётчик, который автоматически увеличивается при каждой записи объекта. Он не доступен для редактирования и используется платформой для оптимистичной блокировки: если два пользователя одновременно открыли один документ, второй при записи получит ошибку о конфликте версий. Это защищает данные от «перезаписи чужих изменений».
Версии в обменах данными
В механизмах синхронизации (планы обмена, EnterpriseData) версии объектов используются для определения, какие данные изменились и должны быть выгружены. Ошибки вида «конфликт версий» при обмене обычно означают, что объект менялся в обеих базах, и нужно выбрать, какая версия приоритетна.
Как включить версионирование в типовой конфигурации
Настройка выполняется пользователем с правами администратора и занимает несколько минут. Точные названия пунктов могут немного отличаться между конфигурациями, но логика одинакова.
- 1Откройте раздел «Администрирование» и найдите пункт «Общие настройки» или «Поддержка и обслуживание».
- 2Найдите группу настроек «Версионирование объектов» (иногда «История изменений») и установите флажок «Хранить историю изменений».
- 3Нажмите «Настроить» и выберите, для каких видов документов и справочников включать версионирование.
- 4Для каждого вида объектов укажите режим: «Версионировать» или «Версионировать при проведении» для документов.
- 5Сохраните настройки и проверьте: измените тестовый документ, затем откройте «История изменений» в его форме.
Режим «Версионировать при проведении» экономит место: версия сохраняется только при проведении документа, а не при каждой записи. Для справочников доступен только полный режим, так как у них нет проведения.
Не включайте версионирование «на всё подряд». Каждая версия занимает место в базе, и на активно редактируемых документах регистр версий растёт быстро. Разумный подход — включать историю для критичных объектов: договоров, карточек контрагентов и номенклатуры, ценообразующих документов, кассовых и банковских документов.
Как посмотреть, сравнить и восстановить версию
Чтобы увидеть историю, откройте документ или элемент справочника и выполните команду «История изменений» (обычно в меню «Ещё» формы объекта). Откроется список версий с датами, пользователями и комментариями о типе изменения.
Сравнение версий показывает, какие реквизиты и строки табличных частей изменились: отличия подсвечиваются, добавленные и удалённые значения видны отдельно. Это удобно при разборе спорных ситуаций — например, когда сумма в документе не совпадает с первичкой и нужно понять, когда она изменилась.
Восстановление выполняется кнопкой «Перейти на версию» или аналогичной командой в отчёте по истории. Платформа записывает объект со старыми значениями, при этом само восстановление тоже становится новой версией — история не затирается, и откат можно в свою очередь отменить.
Конфликт версий при одновременной работе
Ошибка «Данные были изменены другим пользователем» или «Конфликт блокировок при выполнении транзакции» — следствие работы того самого технического счётчика версий. Пользователь открыл документ, пока он был открыт, коллега изменил и записал его, версия в базе увеличилась. Когда первый пользователь пытается записать свою копию, платформа видит несовпадение версий и блокирует запись.
Безопасное решение — закрыть форму без сохранения, открыть объект заново и повторить свои правки поверх актуальной версии. Массовые конфликты блокировок при обменах или фоновых заданиях — уже повод проверить настройки обмена и расписание регламентных операций: возможно, процессы «спорят» за одни и те же объекты одновременно.
Как проверить результат
После изменения документа в «Истории изменений» появилась новая строка с датой и пользователем
История пуста — версионирование не включено для этого вида объектов
Отчёт показывает отличия по реквизитам и табличным частям
Отчёт пуст или выдаёт ошибку — возможно, повреждены данные регистра версий
Объект перезаписан старыми значениями, в истории появилась новая версия-откат
Ошибка записи — проверьте права пользователя и связанные документы
Очистка устаревших версий и влияние на размер базы
Регистр версий растёт пропорционально интенсивности редактирования объектов. На базах с многолетней историей он может занимать заметную долю объёма. В типовых конфигурациях предусмотрена регламентная очистка: в настройках версионирования можно задать срок хранения версий, после которого старые записи удаляются автоматически.
Удаление версий не затрагивает сами документы и справочники — стирается только история их изменений. Тем не менее перед первой массовой очисткой стоит сделать резервную копию и выполнить операцию в нерабочее время: удаление большого числа записей создаёт нагрузку на сервер.
Версионирование и журнал регистрации: в чём разница
Журнал регистрации — это системный протокол платформы: он фиксирует события (кто и когда записал или провёл документ, вошёл в систему, получил ошибку), но не хранит содержимое объекта. Версионирование, напротив, сохраняет сами данные и позволяет их сравнивать и восстанавливать.
На практике инструменты дополняют друг друга: по журналу регистрации находят момент и автора подозрительного изменения, а по истории версий смотрят, что именно изменилось, и откатывают объект. Для аудита действий пользователей журнал регистрации обязателен, для защиты самих данных — версионирование.
Сравнение вариантов
Хранит снимки данных, позволяет сравнивать и восстанавливать. Требует включения и места в базе.
Фиксирует факт и автора изменения, но не содержимое. Работает всегда, восстановить данные по нему нельзя.
Позволяют откатить базу целиком на момент копии. Не подходят для точечного восстановления одного документа без потери свежих данных.
Часто задаваемые вопросы
Почему в истории изменений нет версий до сегодняшнего дня?
Версии начинают сохраняться только после включения механизма для конкретного вида объектов. Изменения, сделанные раньше, восстановить через версионирование нельзя — только из резервной копии базы.
Можно ли узнать, кто удалил документ, через версии?
Нет, версионирование фиксирует записи объекта, но не его удаление. Факт пометки на удаление виден в истории как изменение, а непосредственное удаление объекта отслеживается через журнал регистрации.
Замедляет ли версионирование работу базы?
Запись версии добавляет небольшую нагрузку при сохранении объекта, в повседневной работе она обычно незаметна. Ощутимый эффект даёт только рост объёма базы при версионировании массово редактируемых документов, поэтому важно настроить срок хранения версий.
Что делать при ошибке «данные были изменены другим пользователем»?
Закройте форму без сохранения, откройте объект заново и повторите свои изменения. Если ошибка повторяется систематически, проверьте фоновые задания и обмены, которые могут перезаписывать те же объекты.
Можно ли включить версионирование в самописной конфигурации?
Да, если конфигурация построена на Библиотеке стандартных подсистем — подсистема версионирования подключается по документации БСП. В полностью самостоятельной разработке механизм придётся реализовывать вручную через регистр сведений и подписки на события записи.
Удаляются ли версии при свёртке базы или удалении документов?
При физическом удалении объекта его версии в типовых механизмах также удаляются. При свёртке базы поведение зависит от обработки свёртки, поэтому перед операцией стоит уточнить, сохраняется ли история версий, и сделать архивную копию.
Что важно запомнить
Версия данных в 1С — это сохранённое состояние объекта на момент изменения. Включайте версионирование выборочно для критичных документов и справочников, задавайте срок хранения версий, а перед восстановлением старой версии проверяйте связанные объекты. Журнал регистрации и версионирование решают разные задачи и работают лучше вместе.