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