Domino 9 und frühere Versionen > ND8: Entwicklung
Hauptdokument mit Antwortdokumenten kopieren und autom. ändern
pimpfling:
Hallo,
vorne weg, die Suchfunktion habe ich schon benutzt und die Szenarien die dort beschrieben waren, haben mich nicht weiter gebracht. Evtl. habe ich aber auch wieder nicht richtig gesucht ;)
Mein Fall sieht wie folgt aus:
User befindet sich in einem Hauptdokument (welches x Antwortdokumente haben kann)
Per Knopfdruck soll jetzt dieses Hauptdokument (samt der Antworten) kopiert werden.
Der Unterschied zu den Ursprünglichen Dokumenten (Haupt und Antwort) soll jetzt noch ein gesetztes Flag sein.
Die Ursprungsdokumente sollen also quasi als "Template" für die per Knopfdruck erstellten Dokumente fungieren.
Hat jemand etwas Beispielcode zur Hand an dem ich mich orientieren kann?
Oder einen Link aus dem Forum :)
viele Grüße
Stefan
koehlerbv:
Dafür brauchst Du doch nur
- das Hauptdokument kopieren (NotesDocument.CopyToDatabase)
- eine Collection der Responses zu bilden, durchzulaufen und auch diese zu kopieren
- im Hauptdokument Dein Flag zu setzen
- die Responses aus der obigen Collection mit StampAll zu behandeln.
Aufwändiger wird es natürlich, wenn die Responses wiederum Responses haben dürfen. Dann ist rekursive Programmierung angesagt, aber das Prinzip bleibt, Stefan.
HTH,
Bernhard
pimpfling:
Hallo Bernhard,
danke für die schnelle Antwort.
Ich hangele mich jetzt mal durch die einzelnen Steps :)
Step1 hat wunderbar geklappt.
Step2 erstellt mir zwar Antwortdokumente, diese hängen aber am Ursprungsdokument dran. wie kriege ich denn nun die Antwortdokumente an das neu erstellte?
Step3 und 4 sollte ich hinkriegen, will aber erstmal Step2 verstehen :)
Gruß Stefan
koehlerbv:
Step 2: Ah ja ... Da hätte ich auch daran denken müssen!
Mache noch auf das kopierte ResponseDocument ein NotesDocument.MakeResponse mit Bezug auf Dein gerade kopiertes Hauptdokument.
Bernhard
pimpfling:
Ich glaube das Problem ist der fehlende Bezug auf meine soeben erstellten Dokumente...
Wie komme ich an die ran?
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim dc As NotesDocumentCollection
Dim resdoc, doc As NotesDocument
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Call doc.CopyToDatabase(db)
Set dc = doc.Responses
If dc.Count > 0 Then
For i = 1 To dc.Count
Set resdoc = dc.GetNthDocument(i)
Call resdoc.CopyToDatabase(db)
Call resdoc.MakeResponse( doc )
Next 'For i = 1 To collection.Count
End If 'If collection.Count = 0 Then
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln