Скрытие полей

Тема в разделе "Lotus - Программирование", создана пользователем vincent_vega, 26 июн 2005.

  1. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Расскажите, пожалуйста, как спрятать в зависимости от роли пользователя некоторые поля в форме.

    Если прятать абзац, используя параметр “Hide paragraph if formula is true”, то при просмотре абзац не отображается, но если зайти в свойства документа, на вкладку «Fields», то содержимое скрытых полей легко можно прочитать.
     

    Вложения:

    • pic1.JPG
      pic1.JPG
      Размер файла:
      23,9 КБ
      Просмотров:
      70
    • pic2.JPG
      pic2.JPG
      Размер файла:
      16,8 КБ
      Просмотров:
      90
  2. usb

    usb Гость

    вариант один, шифрование полей.
     
  3. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Каким образом сделать шифрование?
     
  4. Domino_Designer

    Domino_Designer Гость

    Для: usb

    не ... два.

    коллеги меня поправят, если что, но, имхо, при скрытии дизайна свойства полей пропадают из этого окошка.

    предложеный тобой вариант более жесткий :о)
     
  5. usb

    usb Гость

    для Domino_Designer:

    исчезнут? ну да, как же! :(
    достаточно скопировать документ в любую БД и, о чудо! все поля опять доступны по alt+Enter :(

    нет, скрыть поля в документе можно только применив шифрование этих полей.

    Вобще в конечном итоге все зависит от проектирования приложения, обычно поля которые надо скрывать выносятся в отдельный документ доступ к которому определяется полями типа reader.

    для vincent_vega:
    если все таки решишься шифровать, то в дизайнере в св-ах поля в разделе Security Options выбрать значение "Enable Encryption for this field..." при этом рамочка поля станет красной. Также в форме можно завести вычисляемое поле "SecretEncryptionKeys" куда прописывать наименование ключа шифрования. Тогда выбранные поля во всех документах созданных по этой форме будут зашифрованными.

    p.s. ест-но, что этот ключ должен существовать в Id-нике у тебя и у тех людей, что должны видеть информацию в этом поле. также надо учесть, что при попытке открыть документ людьми не имеющими ключа, будет выдаваться предупреждение и документ им нельзя будет изменять.
     
  6. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Спасибо про шифрование уже прочитал, разобрался. Не совсем то что хотелось бы:( слишком многим пользователсям прийдется рассылать ключи (проблема чисто организационного характера:( ), может всетаки есть какой ни будь другой вариант, попроще?
     
  7. usb

    usb Гость

    на твой исходный вопрос решения попроще несуществует! :(

    но! давай исходить из поставленной задачи, объясни, что надо сделать, может есть другие пути решения не через сокрытие полей :(
     
  8. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    В двух словах о задаче: есть форма в котрой хранится информация о сотруднике (имя, фамилия, дата рождения...) в этой же форме необходимо так же хранить более конфиденциальную информацию (например, домашний номер телефона, который нужно скрыть от большинства пользователей). написал простую формочку сделал несколько ролей и в зависимости от роли этот телефон видно кому надо, но возникла вышеописанная проблема.

    Вариант с шифрованием в прнципе подходит, но вот сообщение "You cannot access points of this documents..." каждый раз при открытии будет раздражать основную массу пользователей:( если бы ее убрать, то задачу можно считать решенной.
     
  9. usb

    usb Гость

    а, что если сделать следующим образом:
    Конфидициальную инфорамцию заполнять через диалог на выходе из которого стоит создание(или обновление) дочернего документа к карточке сотрудника? Права на чтение(видимость) дочки определяется с помощью полей Readers в которых прописана роль в ACL БД и сам сотрудник.

    Для удобства пользования, при открытии карточки сотрудника на чтение, поля из дочернего документа подхватывать с помощью @GetDocField... и вписывать в поле "Computed for Display" или в вычисляемый текст
    "<Copmuted value>" основного документа. Для тех кто имеет права поля будут заполнены, для тех кто прав не имеет они будут пустыми. Редактирование данных в этих полях, опять же по кнопке.

    Таким образом достигается следующее:
    С точки зрения пользователя данные храняться в одном документе.
    С точки зрения системы в 2x или больше.

    Можно расширять функциональность системы, можно например, создавать разные дочерние документы: в первом хранится персональная информация для отдела кадров, во втором зарплата для бухгалтерии и т.д. и доступ для каждого типа доп. документа можно определять отдельно ролями...
     
  10. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Спасибо за оказание помощи:)
     
Загрузка...

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