• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы alik86
  • Дата начала
A

alik86

Что-то у меня затупка крайней степени.
Ситуация следующая:
Имеется две формы 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, а непонятно откуда взявшуюся синюю ссылку на текущую БД.
Что за дела?
 
H

hosm

компьютед рт-поле - с ним такие глюки. надо через секцию с доступом и рт-едитабле.
 

Medevic

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

alik86

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

Omh

Компутед ричтекст не имеет права на существование.
 
A

alik86

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

alik86

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Кнопку можно сделать в виде того же желтого квадратика. :)
 
A

alik86

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

hosm

alik86 в оффтоп ударились, вроде ж не пятница. разминка? при этом цитату отформатировал как код - это специально?
а для веселых и не очень цитат есть темы в оффтопе =)
кстати, по теме - по компьютед-рт с линками была уже давненько тема (вроде помнится, что от Cleric-Lviv), хотела ссылку дать, только поиском у меня ее найти не получилось.
 
A

alik86

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

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Секцию можно скрыть(без скрытия содержимого).
 
A

alik86

О, прикольно.
А от окошка "Ху май эдит..." избавиться можно?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!