Если кратко, механизм позволяет сохранять историю, просматривать, сверять и самое приятное, это восстанавливать любую версию объекта. А самое главное, чтобы это заработало, не нужно продумывать, писать и поддерживать тонны кода, все уже сделано за нас…
Возникает вопрос: Как запустить встроенный в платформу механизм Истории данных ничего не кодируя?
В последних версиях платформы 1С появился замечательный механизм Истории данных. О нем уже много написано к примеру можно посмотреть тут и вот тут.
Если кратко, механизм позволяет сохранять историю, просматривать, сверять и самое приятное, это восстанавливать любую версию объекта. А самое главное, чтобы это заработало, не нужно продумывать, писать и поддерживать тонны кода, все уже сделано за нас…
Возникает вопрос: Как запустить механизм Истории данных для справочника,документа…?
-Все что нужно, это в свойствах объекта для свойства "История данных" установить "Использовать" и всё. Больше ничего делать не надо, совсем ничего!!!
После этих не хитрых действий, платформа начинает сохранять версии объекта при каждом изменении, причем не кабы как, а всё по уму — ставит объект в очередь для создания версии и попорционно начинает обрабатывать очередь, чтоб не нагружать систему при массовом изменении. Кроме того, если вы удалите элемент из системы, то история останется и можно будет узнать кто это сделал, когда и при необходимости восстановить (я не проверял такую возможность).
Вести историю механизм позволяет по многим объектам метаданных (справочники, документы, бизнес-процессы, задачи), в том числе и по регистрам сведений.
Единственное, если вы решите вести историю по объекту, в котором уже создана куча элементов, вам потребуется для всех элементов создать первую запись/версию. В противном случае, первой записью будет первое изменение элемента пользователем.
Для массового заполнения истории по всем элементам, по которым нет истории, была написана обработка. Обработка при запуске определяет все объекты метаданных, у которых история данных установлена в использовать. Остается только выбрать объекты, по которым нужно создать версию. Обработка будет работать, если в конфе есть справочник Пользователи и у него имеется реквизит ИдентификаторПользователяИБ, а так же в ПараметрахСеанса имеется ТекущийПользователь. Обработка создает версию, только для элементов, у которых версии нет. Если справочник, договор и т.д. содержит кучу элементов, то придется подождать продолжительное время, т.к. при создании версии платформа для каждого элемента автоматом создает запись в журнал регистрации.
Обработка протестирована на платформе 1С:Предприятие 8.3 (8.3.14.1630).
Насколько поняла этот механизм, есть проблема с регистрами. А именно — удаление строки в регистре, удаляет всю историю по ней (т.к. у регистра отсутствует понятие пометки на удаление). Т.е. историю изменения строки регистра хранит, а вот удаление сводит это преимущество на нет, т.к. если пользователь понял, что накосячил, ему легче просто взять и удалить строку, чтобы никто не увидел в истории, что он там наделал 🙂 Может конечно в последних версиях платформы это поправили?
Проблемы с Регистрами сведений нет, просто сверять можно только версии изменения и добавления, а версию удаления сверить нельзя. В принципе ничего страшного в этом нет…
Как пример — версионирование и сравнение добавленных, измененных и удаленных записей регистра сведений — публикация для платформ, где еще нет механизма «История изменения данных» —Версионирование регистров сведений (необъектных данных)
(3) да, как раз что-то вроде такого и думали городить. Кстати, не увидела у них функционала по поводу удаленных записей. По скринам видно, что для просмотра версий, всё равно нужно выбрать какую-то существующую запись. Не совсем ясно, как у них реализовано сохранение версий удаленных записей.
(4) Функционал по удаленным записям реализуется уже программными средствами…
(5) это понятно. Я просто комментировала тот софт, на который дал ссылку (3). Там софт платный, а реализовали ли они как раз программную обработку удаления не совсем ясно.
(6) Добрый!
Вкратце реализовано — через хранение ключа записи, а при выборе нужного ключа записи видна история изменений (версии записей) — разница между предыдущей (добавленной или измененной) записи с текущей (измененной или удаленной) записи регистра.
А где хранятся версии?
(8) История данных хранится в специальных таблицах той же информационной базы, для которой настраивается версионирование.
Источник
1. Какие преимущества и недостатки по сравнению с подсистемой версионирования из БСП?
2. Почему в самых последних БСП все еще не используется данный функционал?
(10)
Этот механизм родился из БСП. В БСП существует аналогичный функционал, хранящий историю в регистре сведений. 1С перенесла данный функционал из БСП в платформу, она часто это делает.
Достоинства описаны выше. Недостатков больших не вижу…
(11) Смущает другое. Почему, если все так радужно, в БСП 3.1.1 не используется этот новый функционал…
Может кто где-то на партнерке общается и что-то слышал.