В версии 8.3.11.2867. был реализован механизм история данных, с помощью которого возможно компактно хранить историю изменения прикладных данных пользователями.
Недавно потребовалось перевести механизм БСП "Версионирование объектов" на относительно новый платформенный механизм "Истории данных".
История данных - специальный механизм, который позволяет хранить в базе данных данные объектов конфигурации, упорядоченные по шкале времени. В качестве равноправного термина также будет использоваться термин версионирование данных. В базе данных хранится версия - данные, которые были в объекте на момент изменения, а также состояние метаданных на момент изменения. Механизм позволяет настраивать хранение истории данных для объекта целиком и более тонко управлять работой механизма для каждого реквизита (включая табличные части). Управлять включением и выключением истории можно как из конфигуратора, так и с помощью встроенного языка. Таким образом, становится возможным включать хранение истории изменений только для тех данных, которые нужны конкретным пользователям, без необходимости изменения конфигурации. (https://its.1c.ru).
В механизме БСП есть удобная форма для настройки использования версионирования для объектов метаданных "Настройки версионирования объектов (Регистры сведений)". В платформенном механизме такой формы не обнаружил. Включать/выключать использование истории данных для объектов можно либо в конфигураторе, при этом необходимо снимать объект с поддержки, либо программно:
Пример:
// Включение использования истории для документа "Заказ", // в историю включаются реквизит "Комментарий", // реквизит "Цена" табличной части "Товары". Настройки = Новый НастройкиИсторииДанных; Настройки.Использование = Истина; Настройки.ИспользованиеПолей.Вставить("Комментарий", Истина); Настройки.ИспользованиеПолей.Вставить("Товары.Цена", Истина); ИсторияДанных.УстановитьНастройки(Метаданные.Документы.Заказ, Настройки); |
Для удобной настройки использования платформенного механизма Истории данных написал простую обработку, которая позволяет включить/выключить версионирование для нужных типов объектов метаданных:
1. По команде "Заполнить настройки" - таблица формы заполняется объектами метаданных, для которых возможно использование истории данных в конфигурации. Объекты, по которым уже используется механизм истории данных отмечены флагом.
2. По команде "История изменений данных (Стандартные)" открывается форма стандартной обработки, которая позволяет просматривать историю изменения объектов.
При установке/снятии флага в строке включается/выключается использование платформенного механизма для данного объекта метаданных.
Обработка тестировалась на конфигурациях: ERP 2.5, Управление холдингом 3.1, ТОИР2, КД3 на платформе 8.3.17. Обработка должна работать на конфигурациях, с версией совместимости выше 8.3.11.