История изменения полей

  • Автор темы Автор темы Anatoly
  • Дата начала Дата начала
A

Anatoly

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

И в какой момент фиксировать изменения? В свойствах/событиях не совсем корректно. Логичнее всего, вроде-бы, в PostSave формы.
Как правильнее организовать хранение предыдущих значений нужных полей при входе в редактирования документа?
Короче, пока я в состоянии раздумий как приступить :)
 
я делаю это в кверисейв, сравниваю что записываю с тем что было, если есть изменения то пишу в дочений документ кто и когда менял поле
 
Требуется вести историю изменения полей: кто, когда, что на что поменял.
В определенных формах определенные поля. Пока фиксировано, но в дальнейшем думаю сделать это настраиваемым.
Если кто уже занимался этим, может есть какие наработки или уже определившиеся проблемы...
С одной стороны логично было-бы сделать эти логи наследниками к соответственным формам, но с другой информация будет размазана по нескольким базам и не увидишь изменения, сделанные определенным пользователем, а одном просмотре. Придется создавать доп. базу и поддерживать ее в актуальном состоянии. Причем в отдельную базу придется, помимо имени реквизита, тащить еще наименования базы и формы отредактированного документа, плюс какие реквизиты идентифицирующие этот документ для пользователя.

И в какой момент фиксировать изменения? В свойствах/событиях не совсем корректно. Логичнее всего, вроде-бы, в PostSave формы.
Как правильнее организовать хранение предыдущих значений нужных полей при входе в редактирования документа?
Короче, пока я в состоянии раздумий как приступить :)

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

2-й вариант
в постопене копируется текущий документ, в кверисейве сравниваются поля и при изменении копированый док. делается респонсом, заносится имя того кто редактировал и документ лочится
 
Если, скажем, сохраниять старые значения в входе в документ, то я так думаю: либо в какой-нибудь временный док, либо (с перспективой на будущую настраиваемость режима) создавать LIST по именам контролируемых полей. Наверное остановлюсь на втором.
 
тоже было дело по логированию изменения значения полей.
создавал профильный документ где уазывал какие поля логировать, можно сделать профили для каждой формы.
при сохранении делать проверку
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!