Autor Thema: 1 Druckdokument aus Haupt- und Antwortdokumenten  (Gelesen 3160 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
1 Druckdokument aus Haupt- und Antwortdokumenten
« am: 18.10.06 - 15:12:40 »
Hallo!

Ich habe in einer Datenbank Haupt- und Antwortdokumente.

Ist es möglich einen Druck von markierten Dokumenten anzustossen, der dann das Hauptdokument und bestimmte Inhalte aus den Antwortdokumenten zusammenfasst?

So in etwa:

Dokumente mit Inhalt:

- Hauptdokument (Name, Thema, Datum)
  -  Antwortdokument1 (Thema, Details, Verantwortliche)
  -  Antwortdokument2 (Thema, Details, Verantwortliche)


Druckdokument wenn Hauptdokument und Antwortdok1 und 2 markiert sind:

Name aus Hauptdokument
Thema aus Hauptdokument
Datum aus Hautpdokument

Details und Verantwortliche aus Antwortdokument1
Details und Verantwortliche aus Antwortdokument2


Geht so eine "Zusammenführung"?
Und wenn ja, wie????

Hab nur die Vorstellung, wie es sein sollte aber leider bisher keine weitere Idee dazu...

Freue mich auf Antworten,
Wiesel

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #1 am: 18.10.06 - 15:13:58 »
Eigenen "Druck-button" coden, der die beiden Docs in einem Neuen zusammenführt und dieses dann drucken.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #2 am: 18.10.06 - 16:16:27 »
Okay, schön zu wissen das es geht.

Ich habe in einer Ansicht nun eine Schaltfläche eingebaut, die aber noch nicht funktioniert. Da brauche ich noch Hilfe:

Sub Click(Source As Button)
   Dim db As NotesDatabase
   Dim workspace As New NotesUIWorkspace     
   Dim session As New NotesSession
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim rdoc As NotesDocument
   Dim responsedoc As NotesDocument
   Dim collection As NotesDocumentCollection
   Dim strAntwortdoc As String
   
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   
   If doc.form(0) = "Protokoll" Then
      doc.form = "(DruckProtokoll)"
      
      'Auslesen der Antwortdokumenten
      Set rdoc = uidoc.Document
      Set collection = rdoc.Responses
      Set responsedoc = collection.GetFirstDocument
      
      While Not (responsedoc Is Nothing)
         strAntwortdoc = strAntwortdoc  & " " &   responsedoc.numBeschluss & " " &   responsedoc.txtBeschlussvorlage
         Set responsedoc = collection.GetNextDocument(responsedoc)
      Wend
      
      'Antwortdokumente in Druck unterbringen
      doc.txtBeschlussvorlage = strAntwortdoc
      
      Set uidoc = workspace.EditDocument( False , doc)                   
      Call uidoc.print(1,1,1)
      
      doc.txtBeschlussvorlage = ""
      doc.form = "Protokoll"      
   End If   
   
   Call doc.save(True,True)
   Call uidoc.close
   
End Sub

Bei dem ersten "Set doc = uidoc.Document" steigt Notes mir mit "Object variable not set" aus. Was fehlt denn?
« Letzte Änderung: 18.10.06 - 16:22:18 von Wiesel »

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #3 am: 18.10.06 - 16:23:18 »
Ein gültiges UIDocument ;)

Nachdem Du den Knubbel vermutlich in der View drückst, hat er noch kein UIDocument:
Zitat
Returns a NotesUIDocument object representing the document that's currently open.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #4 am: 18.10.06 - 16:28:51 »
Ja, ich drücke den Knubbel (?Schaltfläche) in der Ansicht.

Aber bei dem Rest verstehe ich Dich nicht.....
Was muss ich tun?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #5 am: 18.10.06 - 16:37:09 »
Die Methode workspace.CurrentDocument liefert das gerade OFFENE Dokument zurück. Da Du keines offen hast, liefert er korrekterweise NOTHING zurück.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #6 am: 18.10.06 - 16:49:59 »
Und was nutze ich stattdessen?
Ich hab Probleme dabei, auf ein markiertes Dokument zuzugreifen.
Habe bisher immer auf alle Dokumente aus der Ansicht zugegriffen und dann alle ausdrucken lassen, oder so.
Aber wie greife ich das markierte Dokument?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #7 am: 18.10.06 - 16:52:48 »
Auf das EINE (also durch den View-Cursor) markierte Dokument greifst Du
NotesSession.DocumentContext
zu.

Bernhard

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #8 am: 18.10.06 - 17:13:47 »
Dann war ich doch schon auf dem richtigen Wege und hab nur zuviel benutzt.

Danke für Deine Antwort.

Jetzt hab ich allerdings ein Problem, Werte aus den Antwortdokumenten zu ziehen. Mein Script sieht jetzt so aus:

Sub Click(Source As Button)
   Dim db As NotesDatabase
   Dim workspace As New NotesUIWorkspace     
   Dim session As New NotesSession
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Dim rdoc As NotesDocument
   Dim responsedoc As NotesDocument
   Dim collection As NotesDocumentCollection
   Dim strAntwortdoc As String
   
   Set doc = session.DocumentContext
   
   If doc.form(0) = "Protokoll" Then
      doc.form = "(DruckProtokoll)"
      
      Set collection = doc.Responses
      Set responsedoc = collection.GetFirstDocument
      
      strAntwortdoc = ""
      While Not (responsedoc Is Nothing)
         strAntwortdoc = strAntwortdoc  & " " &   responsedoc.numBeschluss & " " &   responsedoc.txtBeschlussvorlage
         Set responsedoc = collection.GetNextDocument(responsedoc)
      Wend
      
      'Antwortdokumente in Druck unterbringen
      doc.txtBeschlussvorlage = strAntwortdoc
      
      Set uidoc = workspace.EditDocument( False , doc)                   
      Call uidoc.print(1,1,1)
      
      doc.form = "Protokoll"      
   End If   
   
   Call doc.save(True,True)
   Call uidoc.Close   
End Sub

In der ersten Zeile der While Not- Schleife steigt er mir wieder aus. ?????

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #9 am: 18.10.06 - 17:21:04 »
1) OnError Fehlerbehandlung einbauen
2) Debugger verwenden
3) Genaue Fehlermeldung posten
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #10 am: 18.10.06 - 17:38:38 »
Martin stimme ich vollkommen zu! Daher habe ich nur einen ersten Überflug über Deinen Code investiert und gleich zwei Anmerkungen dazu (nochmals: Ergänzend zu denen von Martin):

Code
      Set collection = doc.Responses
      Set responsedoc = collection.GetFirstDocument
 
Das ist ein absolutes no-no. Wenn doc gar keine Responses hat, fällt Dein Code auf die Nase. Du musst also vor dem Zugriff auf ein eventuell gar nicht vorhandenes Dokument der Collection diese prüfen (collection.Count).

Code
strAntwortdoc = strAntwortdoc  & " " &   responsedoc.numBeschluss & " " &   responsedoc.txtBeschlussvorlage
Das ist vermutlich die zeile, in der es scheppert: Du kannst einem String keine Arrays zuweisen. Und NotesDocument.Feldname liefert (ausser bei RT) immer ein Array zurück. Daher::

Code
strAntwortdoc = strAntwortdoc  & " " &   responsedoc.numBeschluss (0) & " " &   responsedoc.txtBeschlussvorlage (0)

Bernhard

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: 1 Druckdokument aus Haupt- und Antwortdokumenten
« Antwort #11 am: 19.10.06 - 10:29:29 »
Hallo!
Ich hatte kurz auf die Zeile, bei dem die Fehlermeldung kam hingewiesen. Sorry, dass ich vergessen habe, die Meldung mit anzugeben.

Danke, Bernhard, für Deine Antwort.

Bzgl. der Abfrage zu den Responses: da hätte ich mich später dran gemacht. Aber der Tipp war schon Gold wert. Klappt!

Die Fehlermeldung stammte tatsächlich von der Zeile und mit Deiner Hilfe schnurrt der Druck wie eine Katze :o) Muss nur noch ein paar optische Anpassungen reinbringen.

Vielen Dank Euch für die geduldige Hilfe,
Wiesel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz