Превращение Linkto C Document в Database

alik86

Lotus team
20.11.2008
465
1
#1
Что-то у меня затупка крайней степени.
Ситуация следующая:
Имеется две формы Form1 и Form2. На Form2 имеется вычисляемое текстовое поле UNID1. При создании документа Doc2 по Form2 я вношу в поле UNID1 UniversalID одного из документов Doc1, созданных по Form1: Call Doc2.ReplaceItemValue("UNID1", Doc1.UniversalID)
На Form2 имеется действие, которое, среди всего прочего, вносит в вычисляемое РТполе LinkToDoc1 ссылку на документ Doc1, UniversalID которого хранится в поле UNID1 (с ричтекстом работаю при закрытом документе):
Код:
Set Doc1 = Db.GetDocumentByUNID(Doc2.UNID1(0))
Set RTitem = New NotesRichTextItem(Doc1, "LinkToDoc1")
Call Rtitem.AppendText ("Ссылка на Doc1 => ")
Call Rtitem.AppendDocLink(Doc1, "Шчолкай смела! " )
Call Doc.Save( True, True )
После всех этих телодвижений всё у меня хорошо, имею нормальный документ по Form2, в котором, есть поле с ссылкой на Doc1, при нажатии на которую я, как и полагается, попадаю в документ Doc1.
А вот теперь происходит нечто, что вызывает упомянутую ранее затупку. На Form2 имеется кнопка Button с кодом:
Код:
Sub Click(Source As Button)
Dim Wsp As New NotesUIWorkspace
Dim DocUI As NotesUIDocument
Dim Doc As NotesDocument	
Set DocUI = Wsp.CurrentDocument
Set Doc = DocUI.Document	
DocUI.EditMode = True
Call Doc.save( True, True )		
DocUI.EditMode = False
Call DocUI.Close
End Sub
Открываю я документ, созданный по Form2 в режиме чтения, жму эту Button. Вроде бы ничто не предвещало беды, но теперь, при открытии этого документа я имею не былую жёлтенькую ссылку на Doc1, а непонятно откуда взявшуюся синюю ссылку на текущую БД.
Что за дела?
 

hosm

* so what *
18.05.2009
2 442
6
#2
компьютед рт-поле - с ним такие глюки. надо через секцию с доступом и рт-едитабле.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#3
Как вариант сделать кнопкой и хранить UNID в текстовом виде.
Или создать поле типа $Response reference list с помощью MakeResponse. Оно будет выглядеть как ссылка.
 

alik86

Lotus team
20.11.2008
465
1
#6
Ставки приняты, ставок больше нет!
Сделал Editable, глюк ушел. С кнопками да секциями решил пока не заморачиваться, ибо поле наполняется в тот момент, когда пользователь ужо не может переводить док в режим редактирования, так что хватило просто поменять на Editable.
И, дзякуй богу, дело не только и не столько в моей криворукости...
 

Omh

Lotus team
04.07.2007
2 210
1
#7
Компутед ричтекст не имеет права на существование.
 

alik86

Lotus team
20.11.2008
465
1
#11
nvy, я описал только то, на чём полезли глюки. А вообще помимо ссылки надо еще и текст формировать динамически. Да и сцылка эта не во всех документых будет. Т.е. если использовать ричтекст, то всё засунется в одно место и если поле пустое, то его как бы и не видно, а если использовать кнопки или $Response reference list, то придется еще хранить текст, прикручивать формулы сокрытия и т.п. Хотя посмотрим...
 

alik86

Lotus team
20.11.2008
465
1
#13
Ну и конечно же мои любимые пользователи, которые привыкли переходить к документу по жёлтенькому квадратику... :)

Добавлено: Morpheus, и это можно...
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#14
Кнопку можно сделать в виде того же желтого квадратика. :)
 

alik86

Lotus team
20.11.2008
465
1
#15
Medevic, ня можа таго быць... :)
Код:
- Блин, вот за что люблю программирование, так это за то, что одно и тоже можно сделать десятью разными способами.
- И за 8 из них получить пиз..юлей от вышестоящих прогеров!
 

hosm

* so what *
18.05.2009
2 442
6
#17
alik86 в оффтоп ударились, вроде ж не пятница. разминка? при этом цитату отформатировал как код - это специально?
а для веселых и не очень цитат есть темы в оффтопе =)
кстати, по теме - по компьютед-рт с линками была уже давненько тема (вроде помнится, что от Cleric-Lviv), хотела ссылку дать, только поиском у меня ее найти не получилось.
 

alik86

Lotus team
20.11.2008
465
1
#18
OKEN, :)
И форматирование не специально - промахнулся кнопкой малёк... :)

По теме: Вот говорят "секции, секции"... А секции их же, на сколько я помню, нельзя сделать всегда развёрнутыми и запретить сворачивать? Даже если я уберу заголовок секции да ее бордер, сделаю ее auto-развёрнутой, всё равно же если пользователь кликнет на то место, где должон быть заголовок, секция свернется (можно конечно показывать информативный заголовок, когда секция сворачивается, но как-то это не юзабилити). Плюс если пользователь даблкликнет в секции, то его незамедлительно напугает окошко "Ху май эдит..." Так что прикручивать секции наверное как-то не совсем хорошо.
Или же я ошибаюсь и секцию можно сделать всегда развёрнутой и запретить сворачивать?
 

alik86

Lotus team
20.11.2008
465
1
#20
О, прикольно.
А от окошка "Ху май эдит..." избавиться можно?