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

Тема в разделе "Lotus - Программирование", создана пользователем Anatoly, 24 мар 2011.

  1. Anatoly

    Anatoly Well-Known Member

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

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

    MMN Well-Known Member

    Регистрация:
    11 дек 2008
    Сообщения:
    97
    Симпатии:
    0
    я делаю это в кверисейв, сравниваю что записываю с тем что было, если есть изменения то пишу в дочений документ кто и когда менял поле
     
  3. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    1-й вариант (у меня так работает).
    В постопене сохраняю данные из нужных мне полей, а в постсейве сравниваю. Везультат записываю в документ-респонс. В документе-респонсе четрые видимых мультивельюз поля. В первое поле пишу название измененного поля, второе - старое значение, третье - новое значение, четвертое - кто менял

    2-й вариант
    в постопене копируется текущий документ, в кверисейве сравниваются поля и при изменении копированый док. делается респонсом, заносится имя того кто редактировал и документ лочится
     
  4. akat

    akat Lotus team
    Lotus team

    Регистрация:
    16 июн 2010
    Сообщения:
    243
    Симпатии:
    7
  5. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    1) Это как-бы завязано на сервер. А надо что-бы работало и в локале.
    2) Стоит ли туда пускать юзеров? :) Режим делается для них.
    3) Не просто интересно "кто и когда", а еще и "что на что".
     
  6. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    Если, скажем, сохраниять старые значения в входе в документ, то я так думаю: либо в какой-нибудь временный док, либо (с перспективой на будущую настраиваемость режима) создавать LIST по именам контролируемых полей. Наверное остановлюсь на втором.
     
  7. allex

    allex Гость

    Был в свое время написан класс.... может будет полезен.
     

    Вложения:

  8. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    тоже было дело по логированию изменения значения полей.
    создавал профильный документ где уазывал какие поля логировать, можно сделать профили для каждой формы.
    при сохранении делать проверку
     
Загрузка...

Поделиться этой страницей