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

maliy

Well-known member
20.03.2007
164
2
#1
Вообщем такая проблема, можно ли в лотусе допустим сделать форму на чтение, а субформа в ней чтоб была на редактирование? Если нет, то подскажите какие есть более разумные решения под эти нужды...
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
Вообщем такая проблема, можно ли в лотусе допустим сделать форму на чтение, а субформа в ней чтоб была на редактирование? Если нет, то подскажите какие есть более разумные решения под эти нужды...
"на чтение" или "на редактирование" открывается документ. Если нужно запретить редактирование части полей документа, то либо они делаются вычисляемыми, либо помещаются в секцию с управляемым доступом, либо используется вычисляемая подформа, либо используется Input Enabled, либо используется пара полей (одно для редактирования, другое для отображения) и используется Hide When, либо для редактирования используется диалог, либо ... . Короче, уточните задачу и Вам помогут.
 

maliy

Well-known member
20.03.2007
164
2
#3
вообщем есть документ , ограничение к нему по доступу регулируется полями Authors/Readers. Суть задачи , как только документ попадает в "Архив" к нему доступ закрывается(он на чтение), но появилась задача чтобы документ могли в архиве редактировать(ставить связи между документами, а без редактирования связи не поставишь)..вот появилась идея вынести поля со связями в субформу и сделать ее на редактирование, а весь документ на чтение, но я так понял что такое в лотусе нельзя сделать (то есть субформу на редактирование, а документ на чтение). Поля нельзя делать вычисляемыми, бывает случаи когда нужно достать документ с архива...вообщем в этом лотус слаб, и даже очень....
Как вариант наверно остается сделать форму отдельную для архива в которой нужные поля документа(такие как заголовок документа, содержание ) сделать на чтение , а поля для связей на редактирование, и если документ вытаскивать с архива то подменять на другую("рабочую форму")
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Делайте временный документ с копией нужных полей и UNIDом архивного документа, открывайте его в диалоге, по ОК вызывайте серверного агента с указанием NoteID временного документа. Агент по NoteID получает временный документ и обновляет в соответствии с ним архивный документ.
 

maliy

Well-known member
20.03.2007
164
2
#5
идея конечно неплоха, но дело в том что немного запутана(с этими временными документами), просто я думаю эту идею применить к моей логике трудно будет так как , я допустим один документ открываю, копирую из него связь(копируется ссылка на документ), а в другой вставляю связь и потом оба документа сохраняю , а бывает что мне нужно связать 10 документов (и тут с этими временными документами паника начнется), к тому же при связке документы открываются в UI то есть чтобы пользователь видел что связывает , а НЕ в ввиде просто галочками выбрал доки и нажал связать.........
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#6
а не проще создать док связей, с ембедет вью и эмбедит эдитор?
и галочками отмечать (а в эдиторе будет просмотр)
не помню, только, как выделеные доки обрабат. в эмбедет вью...
 

nvyush

Lotus team
22.04.2009
2 317
0
#7
идея конечно неплоха, но дело в том что немного запутана(с этими временными документами), просто я думаю эту идею применить к моей логике трудно будет так как , я допустим один документ открываю, копирую из него связь(копируется ссылка на документ), а в другой вставляю связь и потом оба документа сохраняю , а бывает что мне нужно связать 10 документов (и тут с этими временными документами паника начнется), к тому же при связке документы открываются в UI то есть чтобы пользователь видел что связывает , а НЕ в ввиде просто галочками выбрал доки и нажал связать.........
В таком случае документ должен быть доступен пользователю на редактирование. Защитить поля от редактирования можно вычисляемыми подформами, в одной поля Editable, в другой Computed (кроме полей связей, они — Editable). В зависимости от статуса документа вычисляется имя нужной подформы.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#8
maliy

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

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

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