Domino 9 und frühere Versionen > ND6: Entwicklung

Tabelle aus bestehenden Dokumenten erstellen

<< < (2/4) > >>

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