Как передать значение из Dialogbox в текущий документ?

  • Автор темы Sasha*
  • Дата начала
S

Sasha*

#1
Я на формы и view по «Shared Action» вызываю диалог «Рейтинг отзыва» . На форме диалога у меня есть кнопка «Применить» (Hotspot). Мне нужно, после того как пользователь выставит в данном диалоге «оценку», передать ее в текущий документ. (если это view, то в выделенный документ во вью, соответственно если диалог вызван на форме то в текущую форму).
Подскажите пожалуйста как это сделать.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#3
Для: Sasha*
Смотри метод notesUIWorkspace.RefreshParentNote или собаку @Command([RefreshParentNote]).
 
S

Sasha*

#4
Для: root
Код подходит, большое спасибо. И еще один вопросик.

Как сделать, чтобы поле NEWF обновлялось сразу???

На Uidoc.Refresh ругается.
 
R

root

#5
На форме другой акшен сделай
Код:
Dim session As New NotesSession
Dim db As NotesDatabase
'Dim doc As NotesDocument	
Dim doc1 As NotesDocument
Dim uidoc As NotesUIDocument 
Dim ws As New NotesUIWorkspace 
Dim tmp As String
Set db = session.CurrentDatabase
Set doc1= New NotesDocument( db )
Set doc = session.DocumentContext 
Set uidoc = ws.CurrentDocument 
If ws.DialogBox ("ocn", True, True, False, False, False,	 False, "Dialog Box", doc1) = True Then 
uidoc.EditMode = True
Call uidoc.FieldSetText("NEWF",doc1.GetItemValue("ocn")(0) ) 
uidoc.Save 
uidoc.EditMode=false
End If
 

Omh

Lotus team
04.07.2007
2 210
1
#6
Берёшь db.UnprocessedDocuments (если это делается во view то их может быть несколько)
Берёшь от них первый документ.
Потом уже либо его, либо временный диалог-документ показываешь и переносишь данные.
Работает и во view, и в доке.

Что-то вроде:
Код:
Dim Sess As New NotesSession
Dim Db As NotesDatabase
Set Db = Sess.CurrentDatabase

Dim Dc As NotesDocumentCollection
Set Dc = Db.UnprocessedDocuments

Dim Doc as NotesDocument
Set Doc = Dc.GetFirstDocument

Dim DlgDoc As NotesDocument
Set DlgDoc = Db.CreateDocument

Dim Ws As New NotesUIWorkspace
If Ws.DialogBox("(FORM)",True, True, False, False, False, False, "TITLE", DlgDoc, True) = True Then
Call Doc.ReplaceItemValue("FLD_1", DlgDoc.FLD)
Call Doc.Save(True, False)
End If
И не надо делать разные actions для view и для формы.
Это, кмк, не есть gud.