Domino 9 und frühere Versionen > ND8: Entwicklung
Antwortdokumente im Web ermitteln/abfragen/bearbeiten
pimpfling:
Hallo,
ich möchte per Browser ein Feld in einem Antwortdokument befüllen.
Das ist soweit kein Problem.
Nun brauche ich aber eine Überprüfung ob es noch andere Antwortdokumente gibt.
Wenn ja, soll dort der Wert dann explizit nicht gesetzt sein, soll also entfernt werden.
Ich habe das ganze im Notesclient per Knopfdruck im UIDoc und document collection über die anderen Antwortdokumente gelöst.
Das funktioniert aber alles im Web nicht mehr.
Hat jemand einen Tipp oder Denkanstoss wie ich das realisieren kann?
atbits:
In einem WebQuerySave Agent, kannst Du mehr oder weniger das selbe machen wie im NotesClient.
Grüße David
pimpfling:
hm, also den LS Code nehmen, einen Agenten damit befüllen, alles was nach UI riecht entfernen/austauschen und dann den Agenten per @Command([ToolsRunMacro]; "<Your agent goes here>") aufrufen?
atbits:
Genau - mehr oder weniger
Das aktuelle Dokument (auf dem das Save aufgerufen wurde) bekommst Du über:
--- Code: ---Set session = New NotesSession
Set db = session.CurrentDatabase
Set cdoc = session.DocumentContext
--- Ende Code ---
Grüße David
pimpfling:
Super,
vielen Dank.
Das ganze sieht nun so aus:
Dim parentUnid As String
Dim db As NotesDatabase
Dim Parent As NotesDocument
Dim collection As NotesDocumentCollection
Dim currentResponse As NotesDocument
Dim session As NotesSession
Dim item As NotesItem
Dim doc As NotesDocument
Dim view As NotesView
Dim uidoc As NotesUIDocument
Set session = New NotesSession
Set db = session.CurrentDatabase
Set view = db.GetView("VWDevices")
Set doc = session.DocumentContext
Set parent = db.GetDocumentByUNID ( doc.ParentDocumentUNID )
Set collection = parent.Responses
Set currentResponse = collection.GetFirstDocument
Call doc.Save(True,True)
If doc.GetItemValue( "DC_ActiveDevice" )(0) = "Yes" Then
While Not currentResponse Is Nothing
If doc.UniversalID <> currentResponse.UniversalID Then
Set item = currentResponse.ReplaceItemValue( "DC_ActiveDevice", "" )
Call currentResponse.Save( True, True )
End If
Set currentResponse = collection.GetNextDocument(currentResponse)
Wend
End If
Das setzen des Feldes mache ich im Web jetzt per @Formel Button in der Maske. Das klappt soweit auch, allerdings wird das Feld bei den anderen Dokumenten nicht bearbeitet...
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln