Версионирование объектов (новые возможности «1С:Бухгалтерии 8»)
Версионированием называется хранение истории изменений объектов. В отличие от журнала регистрации, который может хранить только историю о том, кто, когда и какой объект изменил, механизм версионирования позволяет пользователю с правами администратора:
- увидеть конкретные изменения, которые внесли те или иные пользователи;
- просматривать любую версию объекта;
- сравнивать любые версии объекта между собой;
- вернуться к какой-либо предыдущей версии объекта, которая была наиболее полной или более правильной в отличие от своего последнего состояния.
Использование версионирования особенно актуально на начальном этапе внедрения программы, когда объемы информации небольшие, а исполнители совершают много ошибок (например, вводят лишнюю информацию или очищают наименование или значение какого-то реквизита внутри объекта).
Сохраненная история изменений объектов позволит привести справочники и документы в порядок, а также поможет пользователям проанализировать последовательность своих действий, чтобы в последующей работе не допускать типичных ошибок.
В дальнейшем, когда объемы информации в программе возрастают, можно постепенно отказываться от версионирования некоторых объектов вообще или применять его только в особенно важные моменты, например, при проведении документов. Можно ограничить срок хранения версий, например годом. После этого версии будут автоматически удаляться регламентным заданием. Настройка запуска регламентного задания осуществляется на странице настроек версионирования.
Объекты версионирования
Возможность хранения версий поддерживаются для справочников и документов, относящихся к следующим разделам учетной системы:
- Банк и касса;
- Продажи;
- Покупки;
- Склад;
- Производство;
- ОС и НМА;
- Зарплата и кадры.
Если для выбранного справочника или документа версионирование включено, в его форме будет доступна команда История изменений (рис. 1).
Рис. 1. Команда История изменений в форме элемента справочника.
По этой команде открывается список версий объекта (рис. 2).
Рис. 2. История изменений объекта.
Список предназначен для просмотра истории изменений объекта и выбора хранимых версий. История версий позволяет быстро ответить на вопросы:
- Кто изменил объект?
- Когда произошли изменения?
- Что было изменено в объекте?
В списке выводится следующая информация:
- № — порядковый номер версии, версии перечисляются по убыванию; номеров, самая первая версия находится внизу списка;
- Автор изменений — пользователь, который редактировал объект;
- Дата — дата и время редактирования;
- Комментарий — в этом поле можно ввести подробную информацию по поводу конкретной версии. Программа автоматически заполняет это поле, например, при переходе на другую версию.
С помощью отбора Изменения в реквизитах можно отражать изменения только определенных реквизитов. Для этого в форме отбора необходимо отметить флагами реквизиты, изменения по которым необходимо отражать в списке версий, и нажать на кнопку Выбрать.
По ссылке Технические сведения об изменении объекта сразу после внесения и записи изменений можно просмотреть журнал регистрации, отфильтрованный по событиям, связанным с этим объектом.
Используя соответствующие кнопки, в форме списка доступны следующие действия:
- Открыть версию — просмотр отчета о состоянии объекта на интересующий момент времени;
- Сравнить версии — просмотр отчета по изменению состояния двух или более предварительно выделенных версий в списке (отчет покажет, какие именно реквизиты отличаются);
- Перейти на версию — возврат к одной из предыдущих версий объекта, которую необходимо предварительно выделить (изменения, внесенные после сохранения этой версии, будут отменены).
Обращаем ваше внимание, что при удалении объекта его история также удаляется, поэтому в этой ситуации версионирование не поможет.
Настройки хранения версий
Рис. 3. Механизм версионирования объектов в составе раздела Администрирование.
После этого становится доступной гиперссылка Настройки хранения, перейдя по которой можно произвести необходимые настройки версионирования (рис. 4).
Рис. 4. Настройки версионирования объектов.
В форме Версионирование объектов выводится список из следующих реквизитов:
- Объект — список объектов программы в виде дерева с группировкой по типам объектов;
- Вариант версионирования — выбранный вариант версионирования;
- Срок хранения версий — выбранный срок хранения версий.
Для выбора варианта версионирования необходимо выбрать один или несколько объектов, затем нажать на кнопку Установить вариант версионирования. Из выпадающего списка выбирается нужный вариант версионирования для каждого типа документов и справочников:
- Не версионировать — история версий объекта не ведется;
- Версионировать при записи — новая запись заносится в историю версий каждый раз при изменении (или создании нового) справочника или документа;
- Версионировать при проведении – вариант применим только для документов, для которых разрешено проведение. Первая версия документа будет записана в историю только после первого проведения документа, впоследствии версии документа будут записываться при каждой записи проведенного документа. Эта настройка не позволяет создавать версии новых не заполненных окончательно документов, которые приводят к увеличению объема хранимой в программе информации;
- Версионировать при старте — этот вариант применим только для бизнес-процессов. Первая версия бизнес-процесса будет записана только после его старта. Режим позволяет не создавать лишние версии бизнес-процессов в то время, пока их подготавливают к запуску;
- По умолчанию — установить рекомендуемые настройки (для справочников — Не версионировать, для документов — Версионировать при проведении).
Настройка версионирования возможна сразу для группы объектов программы, например, можно выбрать все документы или все справочники.
Еще раз обращаем ваше внимание, что версионирование большого количества объектов приводит к увеличению объема хранимой в программе информации, что может существенно замедлить работу программы, поэтому рекомендуется использовать эту возможность избирательно.
Для выбора срока хранения версий необходимо нажать на кнопку Установить срок хранения версий, а затем из выпадающего списка выбрать нужный срок хранения версий для каждого типа документов и справочников. Версии можно хранить:
- За последнюю неделю;
- За последний месяц;
- За последние три месяца;
- За последние шесть месяцев;
- За последний год;
- Бессрочно.
Команды Установить вариант версионирования и Установить срок хранения версий также можно найти в меню Еще или в контекстном меню, вызываемом правой кнопкой мыши.
По гиперссылке Количество и объем хранимых версий объектов можно перейти к просмотру одноименного отчета.
В поле Всего устаревших версий выдается информация о количестве и объеме устаревших версий в программе. Чтобы удалить устаревшие версии, необходимо нажать кнопку Очистить.
Для того, чтобы устаревшие версии удалялись автоматически, необходимо включить соответствующий флаг и перейти по гиперссылке Настроить расписание (рис. 5). Настроенное расписание будет выводиться в нижней части окна.
Рис. 5. Настройка регламентного задания по удалению устаревших версий.
В соответствии с выполненными настройками устаревшие версии будут автоматически удаляться регламентным заданием (в нашем примере ежедневно).
История данных
История данных — это один из механизмов платформы. Он компактно хранит историю изменения прикладных данных пользователями. С его помощью можно гибко анализировать изменения данных, сравнивать разные версии и восстанавливать данные в то состояние, которое они имели в выбранной версии.
Этот механизм реализован в составе платформы и не требует от разработчиков дополнительных действий для встраивания его в то или иное прикладное решение. От разработчиков требуется только указать, для каких именно объектов конфигурации будет вестись история изменений, и в фоновом задании настроить периодичность её обновления.
Сценарии использования
- товар продали контрагенту со слишком большой скидкой, и теперь нужно понять, кто установил такую скидку,
- цена товара выглядит правильной, но в прошлом была продажа этого товара по более низкой цене. Нужно выяснить, кто изменил цену, а затем вернул её в прежнее значение,
- в текущий момент значение некоторого реквизита в учётной системе установлено так, что это привело к негативным последствиям. Необходимо выяснить, когда было установлено именно это значение, и кто из пользователей его установил,
- узнать все изменения, которые выполнял определённый пользователь, который один раз сделал что-то неправильно. Потому что в других случаях он мог допустить аналогичную ошибку,
- после того, как найдены все неподходящие изменения, необходимо восстановить предыдущее, правильное, состояние данных, или даже восстановить данные, которые были непосредственно удалены.
История изменений по объекту
Если для прикладного объекта включена запись истории, то стандартная команда механизма позволяет увидеть список всех изменений (версий) объекта.
В колонке Источник изменений может быть указан также узел плана обмена, если изменение было выполнено в узле, и попало в эту базу в результате обмена данными. В этом списке, в колонке Комментарий, можно указать произвольный комментарий, который поможет в расследовании каких-то ситуаций.
Отбор версий
В тех случаях, когда история изменений большая, можно отобрать для анализа только те версии, которые удовлетворяют некоторому условию.
Отчет о данных версии
Отчет позволяет просмотреть данные любой версии. В этом отчете подсвечиваются значения, измененные по отношению к предыдущей версии.
Отчет о разнице между версиями
Существует возможность сравнить между собой две произвольные версии. В этом отчете подсвечиваются добавленные, измененные и удаленные значения.
Программный интерфейс
Во встроенном языке реализован программный интерфейс, позволяющий использовать все возможности механизма истории данных. В том числе имеется возможность управлять переходом на версию, добавляя комментарии, исключая некоторые реквизиты из стандартной обработки, изменяя данные, номер версии и так далее.
Разработчик имеет возможность переопределить все стандартные формы, которые используются механизмом истории данных.
Версионирование объектов в 1С 8.3
Случаются ситуации, когда пользователь 1С по ошибке меняет в документе, например, скидку, цену товара или значение какого-либо реквизита, что приводит к неверным расчетам и другим проблемам. При выявлении нежелательных изменений возникает желание их исправить, вернуть удаленные данные и прежнее состояние документа. Особенно актуален этот вопрос на начальном этапе работы с программой, когда пользователи совершают много ошибок, при этом объем информации небольшой.
В программах «1С» реализованы механизмы, позволяющие отслеживать изменения в базах различными способами:
- С помощью журнала регистрации. Платформенный механизм, позволяющий узнать кто и когда менял объект, без возможности детально отследить изменившиеся значения объектов;
- Через платформенный механизм ИсторияДанных. Отметим, что данный механизм появился в платформе 8.3.11 и позволяет работать с версионированием через встроенные механизмы платформы, что является несомненным плюсом.
- Через версионирование объектов (активируется самостоятельно). Данный механизм обеспечивается наличием в конфигурации подсистемы БСП «Версионирование объектов». Соответственно присутствует во всех современных типовых конфигурациях, разработанных на основе БСП (Библиотека стандартных подсистем).
Версионирование – это хранение истории изменений объектов. В отличие от журнала регистрации, в котором может храниться история изменения объектов, механизм версионирования позволяет пользователю:
- Увидеть изменения, внесенные пользователями;
- Просматривать любые версии объектов;
- Сравнивать версии объектов между собой;
- Восстановить предыдущую версию объекта.
Рассмотрим настройку подсистемы БСП «Версионирования объектов» в 1С 8.3 Бухгалтерия.
Как включить или отключить версионирование объектов
Настройку можно включать не только для всего объекта целиком, но и выборочно – для его отдельных составных частей, включая реквизиты табличных частей, и тем самым экономить место.
Чтобы механизм компактно хранил историю изменения данных пользователя, и не вышло так, что история изменения объектов занимает больше места, чем сами объекты, и в результате функционал приводит к замедлению работы программы, необходимо правильно выполнить настройку этого механизма.
Включить механизм может разработчик в конфигураторе (его лучше использовать в случаях, когда история данных потребуется во всех режимах работы программы), а также и сам пользователь: в пользовательском интерфейсе в режиме «1С:Предприятие» включить версионирование объектов можно в пункте меню «Администрирование-Общие настройки-История изменений».
Рис.1 Администрирование
Рис.2 Общие настройки
«Включение» версионирования заключается в настройке объектов конфигурации, для которых будет вестись учет изменений. При этом ведение истории можно включать не только для всего объекта, но и для его отдельных составных частей. Установив галочку «Хранить историю изменений», переходим по гиперссылке «Настройки хранения».
С помощью кнопки «Установить когда сохранять версии» мы можем установить когда сохранять версию – «Никогда», «При записи», «При проведении» или «По умолчанию». Настройка «По умолчанию» предполагает рекомендуемые настройки: для справочников – «Никогда» не создавать версии, для документов – «Создавать версии при проведении», для бизнес-процессов – «Создавать версии при старте». Настройка выполняется для всех объектов, но целесообразнее выполнить настройку отдельно для каждого объекта в списке.
Рис.3 Выбор варианта хранения версии
Рис.4 Окно настройки сохранения версии
Следующий параметр – «Установить срок хранения версий».
Рис.5 Меню настройки срока хранения версий
После активации данной настройки у объекта появляется дополнительный пункт в меню – «История изменений» (кнопка «Еще» в журнале документов), а также кнопка на панели инструментов «Перейти к отчету по версиям объектов».
Рис.6 Настройки хранения истории изменений
Рис.7 Возможность просмотра истории изменений в журнале документов
Эти же пункты будут доступны и из самого документа.
Рис.8 Возможность просмотра истории изменений из документа
История изменений выглядит следующим образом: в открывшейся форме выводится список всех изменений объекта. Версию можно открыть или сравнить с любой из списка. Выбрать несколько строк можно с помощью кнопок «Shift» и «Ctrl».
Рис.9 История изменений документа «Счет»
Рис.10 Просмотр версии объекта
Рис.11 Формирование сравнительного отчета изменений между версиями
Рис.12 Сравнение версий объекта
И в случае необходимости через кнопку «Перейти на версию» мы попадаем на выделенную (нужную) версию документа. Изменения, внесенные после этой версии, будут отменены.
Рис.13 Переход на другую версию объекта
Рассмотренный нами механизм может быть очень полезен. С его помощью можно следить за историей изменения документов и справочников. Он хранит не только данные о пользователе, изменившем объект, но и позволяет увидеть, какие были произведены изменения, сравнить версии и при необходимости восстановить один из вариантов.
Версионирование объектов в 1С:БП
Версионирование — это хранение истории изменения объекта пользователем. Разница между журналом регистрации и версионированием заключается, в том что в журнале регистрации можно отслеживать когда, кто и какой объект был изменен, а версионирование позволяет отследить конкретное изменение данных и каким пользователем.
Данная система позволяет просматривать версию объекта, сравнивать их между собой, вернутся к предыдущей версии объекта.
Механизм актуально использовать на этапе внедрения программы при вводе небольшого количество данных. История изменения объектов поможет пользователю привести в порядок справочников и документов и проанализировать ход действий и не повторить ошибки.
Объектами версионирования в программе 1С:Бухгалтерия Предприятия являются справочники и документы следующих подсистем:
- Банк и касса
- Продажи
- Покупки
- Склад
- Производство
- ОС и НМА
- Зарплата и кадры
Для того чтобы программа записывала все изменения для справочника или документу, нужно настроить механизм версионирования. Для этого перейдем в пункт меню “Администрирование” выберим “Общие настрйоки” и в данном подпункте выберем “История изменений”.
Нажав на гиперссылку “Настройки” будет доступна настройки версионирования объектов.
В табличной части формы можно установить для каждого объекта когда будут сохранятся изменения и срок хранения всех изменений.
Также в этой настройке можно будет сформировать отчет “Количество и объем хранимых версий объектов” с помощью отчета можно контролировать объем хранимых версий объектов в сравнении и принять решение о сокращении числа хранимых версии.
В программе также есть функционал, который позволит автоматически удалять устаревшие версии данных. Для этого нужно воспользоваться гиперссылкой “Настроить расписание” и поставить галку “Автоматически удалять устаревшие версии”. Пользователь может сам настраивать расписание.
Работа механизма в программе 1С: Бухгалтерия предприятия.
В настройке версионирования для примера выбрали справочник “Контрагенты” и документ “Реализация (акты, накладные)”.
Открыв справочник и перейдя к записи, на верхней панели появится значок “Перейти к отчету изменению объектов”.
Нажав на нее сформируется отчет по пользователю, в котором будет отображаться изменения.
Документ “Реализация (акты, накладные)”
Для документа история изменения отображается аналогичным способом, как и в справочнике. Также нажав на кнопку “Сравнить” будет отображатся различия в версиях. В данном документе изменили цену товара, что за собой изменило общую сумму по данному товару, НДС.
Данный механизм поможет пользователям отслеживать изменения в данных, анализировать ошибки и оперативно исправлять их и не повторять в дальнейшем.