Domino 9 und frühere Versionen > ND6: Entwicklung
Antwortdokumente und Leser und Autorenfelder
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