• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Sasha*

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

Вложения

  • 123.rar
    123.rar
    20,7 КБ · Просмотры: 195
Для: Sasha*
Смотри метод notesUIWorkspace.RefreshParentNote или собаку @Command([RefreshParentNote]).
 
Для: root
Код подходит, большое спасибо. И еще один вопросик.

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

На Uidoc.Refresh ругается.
 
На форме другой акшен сделай
Код:
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
 
Берёшь 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.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab