1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. Anatoly

    Anatoly Well-Known Member
    Lotus team

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

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

    MMN Well-Known Member

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

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

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

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

    akat Well-Known Member
    Lotus team

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

    Anatoly Well-Known Member
    Lotus team

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

    Anatoly Well-Known Member
    Lotus team

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

    allex Гость

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

    Вложения:

  8. medin84

    medin84 Well-Known Member

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

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