Domino 9 und frühere Versionen > ND8: Entwicklung

Antwortdokumente im Web ermitteln/abfragen/bearbeiten

(1/3) > >>

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