Hi Marco,
sorry, kam am Freitag nachmittag nicht mehr zum Antworten.
Hier war auch schon mal vor ca 2 Monaten ein Therad, wo ich was zu dem Thema geschrieben habe. Lies da auch nochmal nach.
Frage: wie fit bist Du denn in Script ?
Den gesamten code brauche ich Dir hier nicht reinstellen, da der bei mir über script bibl verteilt ist.
Außerdem weiß ich ja nicht, welches Kriterium bei Dir das richtige ist , um an die collection zu kommen (für deine Dokumente in der embedded view).
Wenn DU etwas fit in script bist, dann verstehst Du die Idee, ansonsten wird es etwas schwierig, egalb ob ich code hier poste oder nicht.
Gruntsätzlich:
Der Anwender ist im Dokument mit dem embedded view.
Dort erstellt Du eine Aktion in der der Code dann hinterlegt ist.
Dann brauchst DU eine neue Maske, die Du dann drucken willst.
In dieser Maske muß ein RT Feld sein (body).
Über eine geeignete Routine holst Du dir dann die Dokumente, die für den Ausdruck in Frage kommen als Notesdocumentcollection.
Entweder über eine db.search oder responses wenn es Antwortdokumente sind oder über getalldocumentsbykey.
Die EIgenschaften des RT Felds setzte Du :
Set rtitem = New NotesRichtextItem(newdoc, "body")
Set richStyle = session.CreateRichTextStyle
richStyle.FontSize = 8
RichStyle.NotesFont = FONT_COURIER
Du erzeugst im Hintergrund das neue Dokument (die Druckmaske) und nimmst die Daten aus den Feldern der betreffenden Dokumente in das RT Feld rein.
Du durchläufst die dc mittels Schleife.
Felder alles als Text umwandeln und mit spaces füllen, damit eine fixe Länge erreicht wird udn du eine "saubere Spaltendarstellung" im RT Feld bekommst.
Für das auffüllen mit spaces habe ich mir eine eigene Routine in einer BIB geschrieben.
Wenn DU mit der Schleife durch bist, speicherst DU Dir im Hintergrund das Druckdokument ab damit das RT Feld gesetzt ist,
lässt es Dir im Vordergrund via UI anzeigen und löscht es gleich wieder damit es dann nach dem Drucken durch den Benutzer weg ist.
Hoffe geholfen zu haben.
Bye, Holcomb