Проектирование формы

Тема в разделе "Lotus - Программирование", создана пользователем maliy, 2 мар 2010.

  1. maliy

    maliy Well-Known Member

    Регистрация:
    20 мар 2007
    Сообщения:
    135
    Симпатии:
    1
    Вообщем такая проблема, можно ли в лотусе допустим сделать форму на чтение, а субформа в ней чтоб была на редактирование? Если нет, то подскажите какие есть более разумные решения под эти нужды...
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    "на чтение" или "на редактирование" открывается документ. Если нужно запретить редактирование части полей документа, то либо они делаются вычисляемыми, либо помещаются в секцию с управляемым доступом, либо используется вычисляемая подформа, либо используется Input Enabled, либо используется пара полей (одно для редактирования, другое для отображения) и используется Hide When, либо для редактирования используется диалог, либо ... . Короче, уточните задачу и Вам помогут.
     
  3. maliy

    maliy Well-Known Member

    Регистрация:
    20 мар 2007
    Сообщения:
    135
    Симпатии:
    1
    вообщем есть документ , ограничение к нему по доступу регулируется полями Authors/Readers. Суть задачи , как только документ попадает в "Архив" к нему доступ закрывается(он на чтение), но появилась задача чтобы документ могли в архиве редактировать(ставить связи между документами, а без редактирования связи не поставишь)..вот появилась идея вынести поля со связями в субформу и сделать ее на редактирование, а весь документ на чтение, но я так понял что такое в лотусе нельзя сделать (то есть субформу на редактирование, а документ на чтение). Поля нельзя делать вычисляемыми, бывает случаи когда нужно достать документ с архива...вообщем в этом лотус слаб, и даже очень....
    Как вариант наверно остается сделать форму отдельную для архива в которой нужные поля документа(такие как заголовок документа, содержание ) сделать на чтение , а поля для связей на редактирование, и если документ вытаскивать с архива то подменять на другую("рабочую форму")
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Делайте временный документ с копией нужных полей и UNIDом архивного документа, открывайте его в диалоге, по ОК вызывайте серверного агента с указанием NoteID временного документа. Агент по NoteID получает временный документ и обновляет в соответствии с ним архивный документ.
     
  5. maliy

    maliy Well-Known Member

    Регистрация:
    20 мар 2007
    Сообщения:
    135
    Симпатии:
    1
    идея конечно неплоха, но дело в том что немного запутана(с этими временными документами), просто я думаю эту идею применить к моей логике трудно будет так как , я допустим один документ открываю, копирую из него связь(копируется ссылка на документ), а в другой вставляю связь и потом оба документа сохраняю , а бывает что мне нужно связать 10 документов (и тут с этими временными документами паника начнется), к тому же при связке документы открываются в UI то есть чтобы пользователь видел что связывает , а НЕ в ввиде просто галочками выбрал доки и нажал связать.........
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    а не проще создать док связей, с ембедет вью и эмбедит эдитор?
    и галочками отмечать (а в эдиторе будет просмотр)
    не помню, только, как выделеные доки обрабат. в эмбедет вью...
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В таком случае документ должен быть доступен пользователю на редактирование. Защитить поля от редактирования можно вычисляемыми подформами, в одной поля Editable, в другой Computed (кроме полей связей, они — Editable). В зависимости от статуса документа вычисляется имя нужной подформы.
     
  8. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    maliy

    Во первых, архивная БД может иметь дизайн отличный от основной БД. Дизайн архивной БД сделать так, чтоб он позволял менять только связи.

    Другой вариант -- связи хранить как отдельные документы, может даже в отдельной БД. Структура приблизительно такая:
    1. UNID основного документа
    2. ReplicaId БД основного документа
    3. UNIDы связанных документов
    4. ReplicaId баз данных связанных документов (синхронно с п.3)
    5. Отображаемая пользователям информация о связанных документах (синхронно с п.3)
    6. Доступ (опционально)
    7. Для ускорения поиска UNID документа-связь сделать равным основному документу, но тогда учесть это в операции архивации.

    При открытии архивного документа (да и основного), подчитывать соответствующий документ-связь и формировать доклинки по информации из него.
     
Загрузка...

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