• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Dialogbox вопрос про линк

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
Всем привет!

вопрос следующий:
есть главний документА, визиваю Dialogbox и создаю новий документБ, делаю документБ документом ответом к документуА + хочу вставить линк на документБ в рт поле документаА. здесь глюк почемуто не хочет вставить линк:)

плюс еще вопрос
можно ли открить линк через Dialogbox?


Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Dim docres As NotesDocument
Dim item As NotesRichTextItem

Set db = ses.CurrentDatabase 
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set item = doc.GetFirstItem("File")
Set docres = New NotesDocument(db)	
docres.Form = "Atach"	
Call ws.DialogBox("Atach", True, True, False, False, False, False, "Приєднання документів", docres, True, False)

Call docres.MakeResponse(doc)
Call docres.Save (True, False)
Call item.AppendDocLink(docres, "")
End Sub
 
N

nvyush

КМК, нужно:
1) добавить обработку ошибок, чтоб понять, где глючит.
2) обрабатывать, что вернул ws.DialogBox — ведь пользователь может нажать отмену.
3) проверить, действительно ли "File" является рт итемом. Может сделать так:
Код:
if doc.HasItem("File") then doc.removeItem("File")
set item = new notesRichTextItem(doc, "File")
можно ли открить линк через Dialogbox?
— это о чём?
 
H

hosm

есть ли дефолтная вьюха, вообще код добавления работает без сообщений об ошибке?
кстати, линк ведь к уи-доку текущему добавляется в бекенде.
Возможно, нужен рт-апдейт или бекендное сохранение/переоткрытие, в зависимости от того, что там с документом...
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
0
nvy

поле действительно рт.
етот скрипт только тестовий, мне нужно увидеть результат. потом добавлю все варианти (что будет если нажать "ок" или "отмену")


Добавлено: OKEN
дефолтная вю есть, код ошибок не видает
 
H

hosm

значит, пробуем item.update и
если уи-документ в режиме редактирования, может помочь uidoc.refresh(True),
если в режиме чтения - пробовать doc.save(True, True) doc.SaveOptions = "0", закрытие и переоткрытие уи-дока (взять doc по униду или из вьюшки).


Добавлено: кстати, столкнулась недавно с интересным глюком (из-за области видимости переменных?).
Код создания и заполнения рт-поля ссылкой и текстом был в одном методе, а бек-сохранение документа - в другом месте, где item было недоступно.
и работало прикольно - создавало 2 рт-айтема - полностью пустой и тот, что нужно...(документ создавался в бекенде и в уи кодом не открывался)
item.update не помогало в данном случае, помогла доступность item в момент сейва.
 
Мы в соцсетях:

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