Запуск встроенного в платформу механизма История данных для ленивых

Публикация № 1066152

Администрирование - Журнал регистрации

обработка история данных версионирование

16
В последних версиях платформы 1С появился замечательный механизм Истории данных. Если кратко, механизм позволяет сохранять историю, просматривать, сверять и самое приятное, это восстанавливать любую версию объекта. А самое главное, чтобы это заработало, не нужно продумывать, писать и поддерживать тонны кода, все уже сделано за нас... Возникает вопрос: Как запустить встроенный в платформу механизм Истории данных ничего не кодируя?

В последних версиях платформы 1С появился замечательный механизм Истории данных. О нем уже много написано к примеру можно посмотреть тут и вот тут.

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

Возникает вопрос: Как запустить механизм Истории данных для справочника,документа...?

-Все что нужно, это в свойствах объекта для свойства "История данных" установить "Использовать" и всё. Больше ничего делать не надо, совсем ничего!!!

 

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

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

 

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

 

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

Обработка протестирована на платформе 1С:Предприятие 8.3 (8.3.14.1630).

16

Скачать файлы

Наименование Файл Версия Размер
Массовое первоначальное заполнение версии элементов:
.epf 7,76Kb
24.05.19
2
.epf 7,76Kb 2 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ellavs 372 24.05.19 12:27 Сейчас в теме
Насколько поняла этот механизм, есть проблема с регистрами. А именно - удаление строки в регистре, удаляет всю историю по ней (т.к. у регистра отсутствует понятие пометки на удаление). Т.е. историю изменения строки регистра хранит, а вот удаление сводит это преимущество на нет, т.к. если пользователь понял, что накосячил, ему легче просто взять и удалить строку, чтобы никто не увидел в истории, что он там наделал :) Может конечно в последних версиях платформы это поправили?
2. _root 127 24.05.19 12:41 Сейчас в теме
Проблемы с Регистрами сведений нет, просто сверять можно только версии изменения и добавления, а версию удаления сверить нельзя. В принципе ничего страшного в этом нет...
3. alalexmix 6 24.05.19 17:53 Сейчас в теме
Как пример - версионирование и сравнение добавленных, измененных и удаленных записей регистра сведений - публикация для платформ, где еще нет механизма "История изменения данных" - Версионирование регистров сведений (необъектных данных)
4. ellavs 372 25.05.19 10:35 Сейчас в теме
(3) да, как раз что-то вроде такого и думали городить. Кстати, не увидела у них функционала по поводу удаленных записей. По скринам видно, что для просмотра версий, всё равно нужно выбрать какую-то существующую запись. Не совсем ясно, как у них реализовано сохранение версий удаленных записей.
5. _root 127 25.05.19 10:50 Сейчас в теме
(4) Функционал по удаленным записям реализуется уже программными средствами...
6. ellavs 372 25.05.19 12:16 Сейчас в теме
(5) это понятно. Я просто комментировала тот софт, на который дал ссылку (3). Там софт платный, а реализовали ли они как раз программную обработку удаления не совсем ясно.
7. alalexmix 6 28.05.19 10:25 Сейчас в теме
(6) Добрый!

Вкратце реализовано - через хранение ключа записи, а при выборе нужного ключа записи видна история изменений (версии записей) - разница между предыдущей (добавленной или измененной) записи с текущей (измененной или удаленной) записи регистра.
8. Craig 191 29.05.19 10:34 Сейчас в теме
9. _root 127 29.05.19 11:29 Сейчас в теме
(8) История данных хранится в специальных таблицах той же информационной базы, для которой настраивается версионирование.
Источник
Оставьте свое сообщение