Autor Thema: Masken automatisch füllen und anschließend drucken per Agent  (Gelesen 1961 mal)

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Hallo,

habe noch wenig Erfahrung mit Lotus Notes, habe aber bereits ein paar kleinere Datenbanken bzw. Funktionen erstellt.

Mein Problem:

ich habe eine Ansicht mit Dokumenten. Jedes Dokument soll in eine neue Maske umgewandelt und anschließend ausgedruckt werden. Klingt sehr unverständlich. ;)

Ein kleines Beispiel:

Das Dokument A beinhaltet Daten wie Name, Abteilung, Einsatzzeitraum. Die Daten dieses Dokuments sollen angepaßt in ein neues Dokument importiert werden. Das Neue Dokument stellt die Vorlage zum Druck dar.

Das Druckdokument soll, nach dem es gefüllt wurde, ausgedruckt werden.

Mein Problem hierbei ist: Wie schaffe ich es die Dokumente gescheit umzuwandeln, damit ich diese Dokumente auch drucken lassen kann?

Habe in einer älteren Anwendung zwar einen Druckagenten, aber der hilft mir auch net wirklich weiter...

Danke für Tipps.

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Du könntest es über eine Druckansicht lösen. In der Ansicht trägst Du bei Maskenformel den Namen der Maske ein.

Oder per Script könntest Du im BackEnd die Form umschreiben (Dokument nicht speichern), das Dokument im Frontend öffnen, drucken und das FrontEnd-Dokument schließen.
Gruß
Dirk

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Das mit der Druckansicht steht ja so weit. Manuell klappt das ja. Aber mein Chef will das automatisieren, aus welche Gründen auch immer!

Also quasi die Druckansicht füllen, dann drucken lassen...?


Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Dein Chef will praktisch vor dem Drucken nicht die Ansicht wechseln müssen.

Mit einer Aktion und dem folgenden Code sollte es funktionieren:
Code
Dim session as New NotesSession
dim ws as New NotesUIWorkSpace
dim db as NotesDatabase
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim uidoc as NotesUIDocument
   
Set db = session.CurrentDatabase
set dc = db.UnprocessedDocuments
set doc = dc.GetFirstDocument
   
While not doc is Nothing
   doc.Form = "Name Deiner Druckmaske eintragen"
   set uidoc = ws.EditDocument(False, doc)
   Call uidoc.Print(1)
   uidoc.Close
   set doc = dc.GetNextDocument(doc)
Wend
Achtung Code habe ich nicht getestet.
Gruß
Dirk

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Danke für den Code. Hilft mir zumindest beim Drucken weiter.


Vielleicht noch ein wenig genauer zu meinem noch bestehenden Prob:

Ich habe eine Maske, in der Daten wie Name, Abteilung, Einsatzzeitraum, Lehrjahr, Beruf vorhanden sind. Diese Daten werden bisher manuell in eine neue Druckmaske eingebunden.

Das ganze soll nun automatisiert werden. Mit @Command([FilePrint]) ist schon ma ein brauchbarer Ansatz vorhanden.

Es gibt wie gesagt nur eine Ansicht und zwei Masken. Eine Quellmaske und eine Zielmaske. Und die Daten aus der Quellmaske sollen in die Zielmaske geschrieben werden und die Zielmaske ausgedruckt werden.

Wahrscheins müßten die Felder beider Masken den gleichen Namen besitzen, was?

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Wahrscheins müßten die Felder beider Masken den gleichen Namen besitzen, was?
Wäre am einfachsten, genau dann funktioniert auch der Script-Agent.
Gruß
Dirk

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Hammer! Das klappt ganz gut! ;)

Danke Dir.

Muss noch ein paar Anpassungen treffen, dann dürfte das hinhauen.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz