Domino 9 und frühere Versionen > ND6: Entwicklung
Tabelle aus bestehenden Dokumenten erstellen
VB3Bernd:
Hallo zusammen,
habe das gleiche Problem. Mehrere Doks, deren Werte -der Übersicht wegen- in ein Dokument mit einer Tabelle eingestellt werden sollen.
Gibt es da ein "einfaches" Skript? (Bin in Skript noch Anfänger und kann mich durchwursteln, wenn ich einen Anfang habe :-\).
Danke schonmal
Bernd
Tode:
wenn die Länger der Texte einigermassen Konstant ist, dann könnte man das so machen:
1. Maske definieren ("PrintForm" mit der Tabelle, x Felder
NameWert 1[/tdFELD1FELD2
Die Felder jeweils: berechnet, Mehrfachwerte, Mehrfachwerte getrennt anzeigen mit "Neue Zeile"
Dann einen Agenten (läuft auf selektierte Dokumente) mit folgendem Script:
Dim ws as New NotesUIWorkspace
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim dc as NotesDocumentCollection
dim printDoc as NotesDocument
Dim doc as NotesDocument
Dim item1 as NotesItem, item2 as NotesItem
Set db = ses.CurrentDatabase
set dc = db.UnporcessedDocuments
set printDoc = new NotesDOcument( db )
printDoc.Form = "PrintForm"
set item1 = New NotesItem( printDoc , "FELD1" )
set item2 = New NotesItem( printDoc , "FELD2" )
For i = 1 to dc.Count
set doc = dc.GetNthDocument( i )
call item1.AppendToTextList( doc.GetItemValue( "Quell-Feldname1" )( 0 ) )
call item2.AppendToTextList( doc.GetItemValue( "Quell-Feldname2" )( 0 ) )
Next
call ws.EditDocument( True, printDoc )
dann hat man das Dokument mit der Tabelle auf dem Screen und muss es nur noch drucken...
HTH
Tode
Kiezkicker:
Hallo,
ich habe es mit der eingebetteten Ansicht gelöst, klappt auch super. Gibt es eine Möglichkeit auf die Summer einer Spalte aus dieser Ansicht zurückzugreifen? Soll als Vorgabewert für ein Feld dienen
koehlerbv:
Guckst Du hier: http://atnotes.de/index.php?topic=28405.0
Das ist im Wesentlichen die gleiche Thematik.
Bernhard
VB3Bernd:
@tode
Vielen Dank für Deinen Code.
Ich würde gerne alle Dokumente in der Ansicht "Import" abarbeiten, meine Ziel-Felder heißen "Prod" und "Jan".
Ich habe versucht, Dein Skript abzuändern ... Ergebnis = ???
Hier der Code:
Dim ws As New NotesUIWorkspace
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim printDoc As NotesDocument
Dim doc As NotesDocument
Dim item1 As NotesItem , item2 As NotesItem
Set db = ses.CurrentDatabase
Set view = db.GetView("Import")
Set doc = view.getfirstdocument
Set printDoc = New NotesDocument( db )
printDoc.Form = "Auswertungsdokument3"
Set item1 = New NotesItem( printDoc , "Prod" )
Set item2 = New NotesItem( printDoc , "Jan" )
Do While dc Is Nothing
Set dc = doc.GetNextDocument ( doc )
Call item1.AppendToTextList( doc.GetItemValue( "PRODBEZ" )( 0 ) )
Call item2.AppendToTextList( doc.GetItemValue( "ERTRAG_JAN" )( 0 ) )
Loop
Call ws.EditDocument( True, printDoc )
Nun erscheinen die Zeilen mit Set item1 / item2 rot und als Fehlermeldung kommt:
"Missing argument to constructor for: NOTESITEM"
Was mache ich falsch?
Bernd
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln