Domino 9 und frühere Versionen > ND6: Entwicklung

Antwortdokumente und Leser und Autorenfelder

<< < (3/11) > >>

cash:
die idee finde ich zwar gut... funktioniert nur leider nicht in meinen Fall denn das Parent Dok im spezielen das Feld Response_Leser wird z. B. gefüllt wenn ein Mitarbeiter ein Antwortdokument als erledigt kennzeichnet (im Queryclose wird dann das Feld im Hauptdokument geändert).

Gruß

Thomas

Axel:
Dann rufst du den Agent eben aus dem QueryClose-Event auf anstatt ihn über einen Button zu starten.


Axel

cash:
so ich habe jetzt den Script wie folgt geändert:

Sub Initialize
   
   
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim respdoc As NotesDocument
   Dim parent As NotesDocument
   
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Alles")
   Set agent = session.CurrentAgent
   Set parent = db.GetDocumentByID(agent.ParameterDocID)
   
   Set respdoc = db.GetDocumentByUNID(parent.ParentDocumentUNID)
   If parent.HasItem("leser_response") Then      
      respdoc.leser_response = parent.leser_response            
      Call respdoc.Save(True, True, True)
   End If
   
   
End Sub

Wenn ich Testhalber den Agent aus dem Menü aufrufe kommt Invalid Note id

Da es ein komplexter Workflow ist ist es sehr mühselig jedesmal zig Stationen zu durchlaufen bis man dann sieht ob das ganze im Querclose laufen würde...

Gruß

Thomas

Axel:
Der Hase liegt hier im Pfeffer:

  Set respdoc = db.GetDocumentByUNID(parent.ParentDocumentUNID)
   If parent.HasItem("leser_response") Then     
      respdoc.leser_response = parent.leser_response           
      Call respdoc.Save(True, True, True)
   End If

Das Parent-Dokument hat keine ParentDocumentID. Wenn du auf die Antworten zugreifen willst musst du das über parentdoc.Responses machen. Damit bekommst du eine Collection mit allen Antworten, die es zu dem Dokument gibt, zurück. Damit kannst du dann weiterarbeiten.


Axel

cash:
ok hier mein neuer Script: Fehlermeldung: Object variable not set

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection
   Dim respdoc As NotesDocument
   Dim parent As NotesDocument
   
   
   Set db = session.CurrentDatabase
   Set view = db.GetView("Alles")
'ich bin im Querclose eines Antwortdokumentes und das hat die Doc-ID vom Hauptdokument   
   Set parent = db.GetDocumentByID(respdoc.ParentDocumentUNID)
   
      Set dc = parent.Responses
   
   Call dc.StampAll( "leser_response" , parent.leser_response(0) )


Gruß Thomas

(wenn ich das schaffe kaufe ich mir mal Bücher über Script)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln