Может быть полезна:
Администраторам системы и сотрудникам организации для анализа изменений независимых (периодических и непериодических) регистров сведений, с точностью до состава измерений, ресурсов и реквизитов записей.
Преимущества:
- Легко интегрируется в любую конфигурацию на базе платформы "1С:Предприятие 8.2/8.3" (в т.ч. и на управляемых формах).
- При объединении не требуется вносить изменения в объекты исходной конфигурации.
- Для работы механизма не требуется настраивать права доступа (административные права потребуются - только для настройки версионирования).
- Не требует наличие типовых справочников, типа «Пользователи» и т.д.
- Сохраняет только изменения - версию записей регистра, если между версиями были изменения.
- Работает, если были изменения по метаданным, например: добавлен или удален ресурс регистра.
- Минимальное влияние на производительность.
- Знакомый интерфейс типовой подсистемы «Версионирование объектов».
- Для хеширования данных использованы возможности платформы «8.3», для 8.2 - в «Windows 7» и последующих версиях - платформы «.NET», если нет платформы «.NET», то функции «Библиотеки стандартных подсистем».
- Открытость кода.
Установка (интеграция, обновление) и настройка подсистемы:
Для интеграции (обновления) подсистемы -
Необходимо объединить путем «Сравнения, объединения с конфигурацией из файла…» – сравнение и объединение выполняется без свойств конфигурации с отметкой по подсистеме файла «Версионирование (необъектных данных)»:
Настройка вариантов версионирования регистров -
- включить «Использовать версионирование (необъектных данных)»
- настроить «Вариант версионирования» – установить «Версионировать» для регистров, по которым требуется сохранение версий
Ключ записи регистра формируется по составу измерений, в том числе и по периоду, если регистр периодический
- для периодических регистров – есть возможность «Не учитывать период (при версионировании)» для этого необходимо установить «Да»
Настройка вариантов удаления версий в упр. режиме -
- выбрать способ удаления - "По команде"
указать дату и по нажатию кнопки "Удалить версии" будут удалены старые версии (остается 1-я и последняя версия - остальные удаляются до указанной даты)
- выбрать способ удаления - "Регл. задание"
настроить вариант удаления:
- оставить последних в количестве дней
- оставить по количеству последних версий
настроить расписание регл. задания, включить "Использовать" и после записи настроек будет выполняться автоматический запуск регл. задания "Удаление версий (необъектных данных)" с указанной периодичностью
Доступ к интерфейсу объектов, в том числе и отчета «История изменений (необъектных данных)» подсистемы выполняется через «Операции» и «Все функции» соответствующему режиму запуска (нет интерфейса - "да" недостаток, но за счет универсальности)
Пример - для обычного режима:
По кнопке «Показать версию»
Ключ записи регистра представлен в виде «Наименований{значений}» измерений самого регистра.
По кнопке «Сравнить версии»
Пример периодического регистра – в управляемом режиме:
По кнопке «Показать версию»
Ключ записи регистра представлен в виде «Наименований{значений}» измерений самого регистра, без учета «периода», иначе в составе представления ключа записи будет и период регистра «Период{Дата}Наименований{значений}».
По кнопке «Сравнить версии»
- в составе представления ключа записи НЕ учитывается период регистра «Наименований{значений}»
- в составе представления ключа записи учитывается период регистра «Наименований{значений}Период{Дата}»
По настройке появилась возможность «Сохранять версии на ключ (по имени регистра)»
По кнопке «Проставить представление версии» можно проставить незаполненные представления версий
По кнопке «Сравнить версии» отчет показывает все версии записей регистра – в одном месте (по одному ключу)
- ключ записи представлен в виде «Версии{Имя регистра}»
- каждая версия представлена в виде «Наименований{значений}» измерений самой записи регистра
Отбор в отчете реализован по значениям колонок списка версий, в том числе и по представлению версий
По кнопке «Создать начальные версии» появилась возможность создать начальные (первые) версии к существующим записям (ключам) регистра, только у которых - нет версий
пригодится, когда необходимо получить текущие (первичные) версии (состояния) существующих записей регистра
(для создания начальных версий - применяется метод создания образа набора записей в разрезе ключа записи "полей-измерений", т.е. перезапись самого регистра - не выполняется).
Поддержка:
Все обновления будут поставляться в виде отдельной поставки с указанием следующего релиза и описанием в публикации.
Обратная связь будет выполняться в комментариях к данной публикации в неоперативном режиме.
Подсистема будет обновляться и дорабатываться по мере необходимости:
- доработка существующего или встраивание нового функционала
- исправление ошибок, если таковы будут иметь место
Планируется:
- добавить, как ручное, так автоматическое (регламентное задание для клиент-серверного варианта) удаление старых версий – с вариантами:
До даты (остается 1-я и последняя версия – остальные удаляются до указанной даты) реализовано
Количество последних версий (остается 1-я и указанное количество последних версий) реализовано
- Реализовать подсистему, как расширение, если «того» позволить платформа
Дополнительно:
Подсистема тестировалась на платформах 8.2.19 и 8.3.8 - 8.3.14 (в обычном и управляемом режимах) и для различных конфигураций
- возможно будет работать и на платформах ранее 8.2.
Если будут замечания по оптимальности работы подсистемы – «критикуйте» в комментарии к данной публикации, но «критикуя» - ждем предложение и обоснование варианта решения.
Если будут предложения по доработке и/или реализации – просим в комментарий.
Важно!!! Не стоит включать версионирование для служебных и независимых регистров сведений, таких как «Версии объектов» в различных конфигурациях, «Графики работы по видам времени» в "ЗУП" и т.д.
Внимание!!! Условия распространения (приобретенной за SM) доработанной версии - за рубли (уже с закрытым исходным кодом).
Достоинства
- Легко интегрируется в любую конфигурацию на базе платформы "1С:Предприятие 8.2/8.3" (в т.ч. и на управляемых формах).
- При объединении не требуется вносить изменения в объекты исходной конфигурации.
- Для работы механизма не требуется настраивать права доступа (административные права потребуются - только для настройки версионирования).
- Не требует наличие типовых справочников, типа «Пользователи» и т.д.
- Сохраняет только изменения - версию записей регистра, если между версиями были изменения.
Сравнение версий
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.1.1
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.1
- реализовано удаление старых версий, как по команде (ручное), так и в автоматическом режиме (регл. задание) - см. описание публикации.
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.3
- реализована замена (переименование) процедур "ПобитовоеИ", "ПобитовоеИли" и "ПобитовоеНе" библиотеки стандартных подсистем, по причине появления аналогичных предопределенных функций, которые появились в более поздних релизах платформы.
- исправлена ошибка в отчете "История изменений (необъектных данных)", которая присутствует в типовом отчете "История изменений", а именно: когда, при формировании представления по описанию типа (из xml значения), присутствует составной тип и в него входит тип "Дата", то вылетает ошибка исполнения.
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.4
- реализовано сохранение "затертой" (очищенной, пустой) версии, при этом видно, кем и когда данные были "затерты".
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.5
- Разрешено сравнение любого количества версий, как это сделано в подсистеме версионирования БСП (важно - надо понимать, что при сравнении большого количества версий происходит потребление памяти).
- При сравнении измененных (раскрашенных синим цветом) версий показываются изменения не по всей строке записи в целом, а по каждому значению (также изменением считается, если между версиями было изменение метаданных).
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.7
- По настройке появилась возможность "Сохранять версии на ключ (по имени регистра)" - в результате отчет показывает все версии записей регистра - в одном месте (по одному ключу)
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.8
- В отчете "История изменений" реализована возможность выполнять отбор по значениям колонок списка версий, в том числе и по представлению версий
Подсистема "Версионирование регистров сведений - ВНОД", релиз - 1.1.2.9
- В настройках "Версионирования" - появилась возможность создать начальные (текущие) версии (состояния) существующих записей регистра, только у которых - нет версий
см. описание в публикации.