Версионирование объектов в 1с. V8: История изменения реквизитов

Стандартный механизм, реализованный в программных продуктах, поставляемых фирмой 1С, позволяет решить задачу отслеживания изменений в базах данных двумя способами:

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

Сразу следует сделать небольшое замечание. В базах со значительным документооборотом и большими объемами вносимой информации версионирование объектов 1С может приводить к существенному увеличению объемов хранилища.

Что это за механизм и для чего он нужен

Журнал регистрации позволяет отследить историю изменения объекта, однако, у него есть один существенный недостаток – он не позволяет увидеть, какие именно изменения вносились в существующие данные.

Версионирование объектов позволяет:

  1. Увидеть, что и когда изменялось в конкретном объекте;
  2. Определить, кто именно внес те или иные изменения;
  3. Просмотреть предыдущую версию объекта;
  4. Сравнить между собой две сохраненные версии;
  5. Произвести анализ, определив какая версия, была наиболее точной и правильной;
  6. Вернуть объект в необходимое состояние.

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

Чаще всего версионирование объектов 1С задействуют на этапе внедрения того или иного программного продукта:

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

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

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

Включение системы версионирования

Рассмотрим последовательность действий для включения механизма версионирования объектов на примере конфигурации «Зарплата и управление персоналом», редакция 3.1.

В первую очередь зайдем в систему «Администрирование» -> «Общие настройки» -> «История изменения»(Рис.1).

Если его нет, зайдем в подменю «Все функции…» в ветку «Константы»-> «Использовать версионирование…» (Рис.2) и активируем галочку на этой форме

Рис.2

После активации флажка появится еще один элемент меню: «Настройки хранения» (Рис.3)

Рис.5

Настройка истории изменений

Давайте рассмотрим вышеприведенную форму:

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

Новые версии объектов могут сохраняться:

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

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

В случае, если к существующему списку справочников и документов нам потребуется добавить собственный объект, мы должны:

  1. Открыть программу в режиме конфигуратора;
  2. Открыть конфигурацию для изменения;
  3. Зайти в подменю «Общие»-> «Определяемые типы»-> «Версионируемые данные»;
  4. В свойствах элемента необходимо изменить набор элементов параметра «Тип» (Рис.6);


Рис.6

После сохранения и обновления конфигурации наш добавленный элемент появится в отрывающейся форме настройки.

После активации и настройки расписания удаления объектов в системе появится соответствующее регламентное задание.

Здесь следует отметить, что вся информация о версиях объектов хранится в регистре сведений «Версии объектов», соответственно все действия, характерные для непериодических регистров сведений доступны и для этого регистра, в частности, полную его очистку можно выполнить с помощью кода, представленного на Рис.7

Как с этим механизмом работать

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

  1. Автора новой версии (человека, который вносил изменения);
  2. Дату изменения;
  3. Добавить собственные комментарии к существующим вариантам объектов;
  4. Сравнить версии между собой;
  5. Вызвать отбор журнала регистрации по соответствующему событию;
  6. Просмотреть версию;
  7. Актуализировать предыдущую версию.

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

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

Прежде всего необходимо включить в программе данную опцию и сделать нужные настройки:

В открывшемся списке устанавливаем признак использования опции и заходим в настройки хранения :

В открывшемся списке необходимо выбрать список объектов, которые мы хотим версионировать (т.е. записывать все варианты этих объектов при их изменении). Для примера установим версионирование справочника Номенклатура и документа Поступление товаров и услуг .


Для справочников новая версия документа сохраняется в момент записи элемента справочника, а вот для документов появляется возможность сохранения новых версий только при проведении:


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


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


Помимо номенклатуры, выберем версионирование документов поступления:

Теперь откроем любой элемент справочника Номенклатура и произвольно изменим реквизиты, к примеру Артикул, ставку НДС и комментарий:

в результате появились изменения:


Теперь открываем кнопку просмотра версий в верхней командной панели:


В открывшемся списке видим список всех сохраненных версий объекта. Любую версию можем открыть для просмотра, сравнить выборочно между собой или перейти на любую сохраненную версию (допустим если последние изменения справочника/документа не нужны).

Зажав клавищу Ctrl , выделим две версии справочника и нажмем Сравнить версии :


Сформировался отчет по изменениям версий, в котором можно увидеть все произведененные в справочнике изменения:


При необходимости можем точечно выбрать реквизиты для сравнения, отчет будет сравнивать только эти реквизиты в двух версиях:

Теперь проведем аналогичные манипуляции с документом поступления.

Для примера изменим сумму в табличной части и заполним номер и дату первичного документа


Нажав на кнопку просмотра версий, откроется соответствующее окно:


Здесь все также как и для справочников: можно посмотреть конкретную версию, сравнить две версии между собой или вернуть документ к какой-либо сохраненной версии. Выделим две строчки списка и нажмем Сравнить версии :


В других типовых конфигурациях 1С:Предприятие 8.3 настройка версионирования происходит аналогично.

Менеджер Иван заходит в кабинет руководителя отдела продаж. Разговор начинается на повышенных тонах:

— Мы потеряли клиента! — возмущается менеджер, — Я оформил заказ, зарезервировал товар специально под покупателя. Но кто-то снял мой заказ с резерва! Я потерял из-за этого значительную часть месячной премии, мы упустили крупную сделку! Кто-то исправил документ, уменьшив срок резерва. Как узнать, кто виноват ?

История 2: Это не я!

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

История 3: Все пропало, шеф!

Бухгалтер Татьяна анализировала документы за прошедший месяц и проставляла в них признак того, что документы сверили. Для своей работы она использовала «Групповую обработку справочников и документов», которая позволяла ей отобрать документы по определенному признаку и не заходить в каждый документ для подтверждения. Татьяна была хорошим бухгалтером, но ошибки случаются у всех. Вместо того чтобы выбрать документы за первое апреля 2014 года, она перенесла все документы за апрель на первое число (поменять дату обработка тоже позволяет).

У Татьяны паника: определить потерянные даты документов невозможно, а значит, нельзя исправить ситуацию. Что делать ?

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


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

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

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

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

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

Возможность сохранения истории объектов включается в разделе Администрирование — Общие настройки:


Рисунок 1. Включение версионирования объектов

Теперь, когда сама возможность версионирования включена, необходимо настроить, изменения каких именно документов и справочников будут сохраняться. Эта настройка важна, так как с одной стороны, включение лишних объектов в систему версионирования может излишне увеличить размеры баз данных, а с другой стороны, нам нужно сохранять изменения всех важных объектов, чтобы избежать спорных ситуаций в работе. Нажмем гиперссылку «Версионируемые объекты» (правее флага включения версионирования) и перейдем в окно настройки:


Рисунок 2. Настройка версионирования объектов

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

  • Не версионировать :
    История изменений сохраняться не будет
  • Версионировать при записи :
    Изменения будут фиксироваться каждый раз при сохранении документа или справочника. Изменения документов, в которых предусмотрено проведение, будут сохраняться даже в непроведенных документах
  • Версионировать при проведении :
    Изменения будут фиксироваться при сохранении справочников и документов. Для документов, в которых предусмотрено проведение, изменения будут сохраняться? только если документ проведен (при первом проведении и в дальнейшем при записи).

Укажем для Заказа покупателя вариант «Версионировать при записи». А для Заказа поставщику — «Версионировать при проведении».

Как посмотреть историю изменений объекта?

Историю изменений объекта можно увидеть, открыв объект и перейдя по гиперссылке «История изменений» на панели навигации:


Рисунок 3. Переход к истории изменений


Рисунок 4. Список сохраненных версий документа

Из этого окна мы можем:


Как вернуться к сохраненному варианту объекта?

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

База сообщит, что переход на версию был выполнен успешно:


Рисунок 6. Возврат к старой версии

Если все же мы ошиблись, и более корректной является версия документа до перехода, то можно выполнить переход к предыдущему варианту документа (в нашем примере — к 4-й версии).

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

А что же герои историй, рассказанных в начале статьи?

Как уже говорилось, все закончилось хорошо.

Иван посмотрел историю изменений своего заказа и увидел, что в 9:25 утра его отредактировала менеджер Катя. Ей срочно нужно было выписать заказ на клиента, а свободного остатка товара не хватало. Она извинилась перед Иваном, и он, конечно, простил ее. Тем более что заказ Кати можно было перенести на более поздний срок, а покупателю Ивана отгрузили товар в тот же день.

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

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

Желаем Вам успехов в работе!

«Автоматизация бизнеса:История версий » - это комплекс дополнений к типовым конфигурациям на базе "1С:Предприятие 8", предназначенный для хранения истории изменений справочников и документов, анализа изменений с точностью до значения реквизитов и возможностью для отката данных до выбранной версии объекта.

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

История версий легко может быть интегрирована в любую конфигурацию на базе "1С:Предприятие 8.x". При объединении не требуется вносить изменения в объекты исходной конфигурации.

Что дает система:

РУКОВОДИТЕЛЮ - ПОВЫШЕНИЕ КОНТРОЛЯ ЗА РАБОТОЙ ПОЛЬЗОВАТЕЛЕЙ:

    простота и удобство мониторинга изменений вносимых в систему;

    возможность просмотра, какие именно изменения были внесены в документы «задним числом»;

    возможность отслеживать объем вносимой информации в систему каждым из пользователей;

ПОЛЬЗОВАТЕЛЯМ - ПОВЫШЕНИЕ УДОБСТВА РАБОТЫ С СИСТЕМОЙ:

    возможность просмотра истории изменений по интересующему объекту;

    возможность работы с предыдущими версиями объектов;

    возможность восстановления («отката») объекта до выбранной версии;

Основные возможности:

    хранение истории значений любого документа или справочника (реквизиты шапки, табличных частей, автор изменений, дата и время изменений);

    наглядный просмотр изменений, каждой версии в графическом виде;

    возможность отката до любой версии объекта;

    возможность удаления ненужных версий объектов (ограничена правами доступа);

    возможность просмотра изменений объектов с отборами: по автору, виду объекта, времени внесения изменений;

    возможность настройки списка объектов требующих регистрации в системе без изменения конфигурации;

    быстрый переход к просмотру истории изменений из любого объекта системы;

    сервисные функции по работе с данными об изменениях: архивирование изменений за выбранный период и очистка изменений за выбранный период по указанным видам объектов;

Технические особенности:

    возможность быстрой интеграции с любой конфигурацией на базе "1С:Предприятие 8.x" (до 8.3.6.x), без внесения изменений в объекты основной конфигурации; (интеграция занимает не более 5-ти минут)

    при использовании «Автоматизация бизнеса:История версий» в базе данных хранится информация только об изменениях реквизитов объектов, что НЕ приводит к значительному росту базы данных и замедлению работы пользователей;

    хранение изменений в системе производится в сжатом виде, что незначительно сказывается на времени формирования отчетов, но существенно сокращает требуемый объем памяти;

    система поддерживает работу с распределенными базами данных;

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

«Автоматизация Бизнеса: История версий» является дополнением к любым типовым конфигурациям 8.x: «Управление торговлей ред. 10.3», «Управление торговлей ред. 11» и «Управление производственным предприятием ред. 1.3», и т.д. Данный продукт не содержит скрытых участков кода.

Системные требования:

Дополнительные сведения:

  • Если программа не работает на вашем релизе типовой конфигарации, то мы ее доработаем для вас бесплатно.
  • Для программы выпускаются регулярные бесплатные обновления.
  • Код программы АБ:История версий открытый
  • Модуль предоставляется под одну заявленную вами конфигурацию (платформу). Цена модуля от количества рабочих мест не зависит.
  • При покупке программы предоставляется бесплатная техподдержка на 12 мес.
  • Успановка программы производится либо самостоятельно пользователем, либо специалистами компании Автоматизация бизнеса за дополнительную плату. При покупке программы необходимо заполнить и отправить регистрационную анкету, которую пришлют с дистрибутивом программы.

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

Как настроить версионирование объектов в бухгалтерской программе?

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

Программа дает возможность установить следующие варианты:

«Не версионировать» - в этом случае история версий объекта вестись не будет;

«Версионировать при записи» - в случае создания или изменения нового документа или справочника новую запись будет занесено в историю версий;

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

«По умолчанию» - в этом случае для справочников и документов устанавливаются рекомендованные настройки - «Не версионировать» и «Версионировать при проведении» соответственно.

Программа позволяет установить срок хранения за последнюю неделю, один, три, шесть месяцев, год или вообще бессрочно.

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

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

Как просмотреть изменения объектов в бухгалтерской программе «1С Бухгалтерия 8»?

Установив галочку в разделе под названием «Версионирование объектов» в справочниках и документах, для которых действует версионирование, вы получите доступ к пиктограмме «История изменений».

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

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

«Открыть версию» - с помощью этой кнопки в нужный момент времени вы сможете посмотреть отчет о состоянии объекта;

«Сравнить версии» - можете посмотреть отчет по изменению состояния выделенных предварительно 2 или более версий в списке (какие реквизиты отличаются, будет видно в отчете);

«Перейти на версию» - сделает возврат к предварительно выделенной одной из версий объекта. При этом будут отменены изменения, которые были внесены после сохранения данной версии.

Обратите внимание, при изъятии объекта версионирование не поможет, так как после удаления вся история объекта также будет ликвидирована.