Механизм версионирования в 1с

Что такое версионирование?

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

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


Зачем мне версионирование?

Этот функционал может пригодиться в случаях:

1. если несколько пользователей могут менять одни и те же объекты, и есть профит от знания - кто и в какой момент что изменил в объекте.

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


Как это работает на конкретных примерах?

Пример по пункту 1

Конфигурация УТ. Бухгалтер и руководитель могут менять справочник "Ответственные лица организаций". В этом справочнике указываются люди с документами, с периодом их компетенций – это все уходит на печатные формы клиентам. Выходит, что два человека могут в любой момент что-то изменить в этом справочнике. Как в спорный момент доказать кто это сделал? Чтобы избежать таких ситуаций, включаем хранение версий для этого справочника, и если вдруг Вам клиент позвонит и скажет: «А чего это у вас в документах представитель организации секретарь?», то Вы сможете выяснить кто же менял ответственное лицо и когда. Наказать виновного и все поправить (откатом до нужной версии).

Пример по пункту 2

Конфигурация УТ. Документ «Коммерческое предложение» может меняться несколько раз на этапе переговоров с клиентом. Не хочется постоянно создавать разные документы? Включаем версионирование. Когда с клиентом все будет согласовано и создастся «Заказ», выбираем нужную версию КП и имеем возможность проанализировать его первоначальные варианты.

Как настроить версионирование?

Конфигурация ТОИР 2.0 КОРП (техническое обслуживание и ремонты)
Настройка и Администрирование - Общие настройки - История изменений

Включили галку, продолжим настройку:

В этом списке видно для каких справочников и документов предусмотрено хранение истории версий.

Для справочников версия сохраняется при "записи".

Для документов версия может сохраняться при "записи" и "проведении".

Как долго хранятся версии?

Время хранения одинаково можно настроить как для справочников, так и для документов:


  • Последняя неделя
  • Последний месяц
  • Последние 3 месяца
  • Последние 6 месяцев
  • Последний год
  • Бессрочно (всегда)

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

Конфигурация УТ 11.1 (управление торговлей)

Включается версионирование по другому пути: Администрирование - Поддержка и обслуживание

Сами же настройки и время хранения не меняются.

Можно сразу установить всем объектам одинаковые значения "записи" версии и "хранения".


Что делать с накопившимися старыми версиями?


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

Как быть если объект невозможно версионировать?


Далеко не все справочники имеют типовую возможность хранения версий. Например, в УТ такие справочники, как: Банковские счета, Виды номенклатуры, Группы доступа и многие другие не имеют возможности типового версионирования. Также не все документы могут версионироваться. Если это необходимо – нужны доработки. В этом Вам могут помочь наши программисты.

Конфигурация УТ 11.4 (управление торговлей)

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

В дополнение удобно отражается и подсчитывается объем данных (старых версий) в Мб, чтобы пользователь понимал, что это его личное место на диске и оно может "раздуваться". Поэтому включаем регламентное задание по очистке старых версий.

Особенности версионирование в неуправляемых формах?

Неуправляемые формы. Конфигурация УПП 1.3

Сначала в настройках программы: Сервис - Настройка программы (также можно через "Константы - настройка программы") включаем галку:

После чего переходим в настройки версионирования.

Здесь есть возможность хранения версий огромного списка справочников и документов, даже документ "SMS сообщение" может версионироваться.

Правда настройки по "сроку хранения" - нет. Есть настройка по записи версии, также "при записи" - для справочников, и "при записи" или "при проведении" - для документов.


Таким образом, можно увидеть сколько в принципе было правок этого элемента, с указанием кто выполнял это действие и когда. Даже комментарий можно писать, если это для вас важно.

Версии можно сравнивать, чтобы понять, что именно поменялось, можно сравнивать 2 и более версий сразу. Для этого нужно выделить все интересующие вас версии через Ctrl и нажать "Сравнить". Получите такой "красивый" отчет

Как видно из скрина - мы сравнили три версии, так как в заголовке указано (№ 1, 2, 3), версии разбиты на колонки. Более ранняя версия находится правее:


  1. В начале (1 версия) реквизит "дополнительная информация" был пуст.
  2. Во 2 версии этот реквизит заполнился "1", 1Service дописал единичку в этот реквизит.
  3. В 3 версии этот же 1Service убрал единичку, и реквизит "дополнительная информация" снова стал пуст.

Если вам необходимо вернуться на версию с заполненной единичкой - Вы можете выделить 2 версию в списке мышкой, и нажать "Перейти на версию". Теперь ваш элемент справочника станет таким, каким он был во время второй версии.

Сам факт перехода на версию также отражается в списке версий отдельной (новой) строкой.

Как работать с версиями в управляемых формах?

Проверяем сначала, что мы вообще версионируем из настроек версионирования объектов:

"версионировать" означает создавать версию "при записи".

Через "Сервис - История изменений объектов" можно выбрать интересующий Вас объект (даже если для него не включено версионирование вообще - его все же можно выбрать. Но по нему, естественно, ничего не будет отражаться)

Мы выбрали позицию номенклатуры. Сравнили две версии - 4 и 5. Видим, что ее записывал некто Латыпов, но изменений никаких не вносил. Еще видим, что:

"перейти на версию" – нельзя, "Комментарий" - тоже не написать.

Также отметим, что это уже 4 и 5 версии, т.е. были еще 1, 2, 3 версии, которых мы не видим. А значит установлен срок, по истечению которого старые версии удаляются.