Autor Thema: Drucken per Maske  (Gelesen 11036 mal)

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Drucken per Maske
« am: 18.07.05 - 15:02:10 »
Hallo,

kann man Dokumten anhand einer Maske ausdrucken? Sprich ich geb in der Maske ein Schlüsselwort ein und drücke auf drucken und ab gehts...aus Views geht das...aber aus Masken...? :-:

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Drucken per Maske
« Antwort #1 am: 18.07.05 - 15:08:13 »
Wie meinst du das?
Du willst alle Doc's die mit einer Maske erstellt wurden ausdrucken?
Dann mach dir eine View mit den Doc's und los gehts!
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #2 am: 18.07.05 - 15:12:39 »
Das sind leidernicht die Anforderungen...sonst hätte ich es auch so gemacht.

Es soll eine Maske erstellt werden mit welcher man mit einem Schlüsselwort Dokumente drucken kann. Das Schlüsselwort kann z.B. "Auto" sein. Alle Dokumente mit dem Feldinhalt "Auto" sollen dann gedruckt werden.

Hab einen Agenten mit welchem ich alle Dokumente einer View drucke angepaßt, aber der sagt "Agent muss aus ner View ausgeführt werden". Ich schau mal nach den Einstellungen des Agenten...vielleicht hat jemand en brauchbaren Tipp für mein Prob...


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #3 am: 18.07.05 - 15:19:12 »
Klar geht das du musst nur den Agenten eine Select Formel mitgeben und vorher in einer Dialogbox den/die Feldwerte nach denen er suchen soll ausgeben.

SelectFormel = |Feld1 = "Auto"|
doccollection = db.search(SelectFormel)
Als Alternative kannst du das auch mit einem FTSearch durchziehen. Da gibt es dann unter umständen Allerdings Probleme wenn du Datumswerte filtern willst.

und dann ganz normal weitermachen wie bei deinem bereits vorhandenen Agent.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Drucken per Maske
« Antwort #4 am: 18.07.05 - 15:19:56 »
Du könntest mit den Feldern der Maske Dir einen Suchstring zusammenbauen und dnn per db.Search eine DocumentCollection holen.
Mit NotesUIView.SelectDocument(NotesDocument) kannst Du die Dokumente in einer Ansicht markieren und mit NotesUIView.Print drucken.
Gruß
Dirk

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #5 am: 18.07.05 - 15:23:59 »
Den Umweg über die View kannst du dir Sparen wenn du das direkt mit
Code
Set doc = thisdoccol.getfirstdocument()
Do While Not doc Is Nothing
	doc.Form="Druckmaske"
	Call workspace.EditDocument(False,Doc)
	Set uidoc=WorkSpace.CurrentDocument
	Call uidoc.Print( 1 )
	Call uidoc.close(True)
	Set doc = thisdoccol.GetNextDocument(doc)
Loop
machst
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #6 am: 18.07.05 - 15:27:55 »
FTSearch bringt mir in dem Fall nichts.

Mein Agent sollte von Prinzip her so ausschaun:

Dim session As New NotesSession
   Dim ws As New NotesUIWorkSpace
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim xdoc As NotesDocument
   Dim uidoc As NotesUIDocument
   Set db = session.CurrentDatabase
   Set view = db.GetView( "LookupLehrjahr" )      
   
   Set db = session.CurrentDatabase
   Set dc = db.UnprocessedDocuments
   Set doc = dc.GetFirstDocument
   
   While Not doc Is Nothing         
      Set xdoc = view.GetNextDocument(doc)
      If doc.Einsatz_Jahr(0) = UiDoc.FieldGetText("Druck.Jahr") Then
         If doc.Org(0) = UiDoc.FieldGetText("Druck.Einheit") Then
            Call uidoc.Save         
            Call uidoc.print(1)
            uidoc.close   
         End If
      End If      
      Set doc = xdoc

Ausgabe: "Dokument noch nicht gespeichert"

Kann sein, das ich manche Variablen net brauche. Aber sonst sollte das eigentlich so gehen, oder?


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #7 am: 18.07.05 - 15:47:51 »
Das was du da an Code geschrieben hast und das was du als Frage formuliert hast hat nichts aber auch absolut gar nichts miteinander zu tun.

Gefragt hast du nach einer Methode mit der du aufgrund von Schlüsselfeldern Dokumente finden und die gefundenen Dokumente dann ausdrucken kannst.

Dein Code geht erst auf die unprocessed Documents Eigenschaft der Datenbank los, die für sich schon abhängig vom Kontext sehr variabel ist, um dann in einer Ansicht ein Getnextdocument bezogen auf das erste unprocessed document zu machen, welches ein Xdoc Objekt erzeugt, das hinterher das Doc aus den Unprocessed Dokuments überschreibt. Dann vergleichst du das gefundene Doc mit dem Uidoc aus dem du das Ganze wohl irgendwie aufrufst, was wiederum mit deiner Beschreibung eines "Agents" kollidiert, denn da hat man (sollte man haben) in der Regel kein Uidoc, und um die Verwirrung komplett zu machen speicherst und druckst du dann das Uidoc aus in dem du deine Werte eingetragen hast und nicht das Dokument das du gefunden hast.

Aus der Beschreibung heraus merkst du jetzt vielleicht wie Wirr dein Konstrukt als Ganzes ist.

Also bitte ich dich für das folgende schon mal im Voraus um Entschuldigung denn du wirst das nicht gerne hören wollen
.
Bitte lern doch erst einmal strukturiert zu denken, bevor du Codeschnipsel von anderen die du nicht verstanden hast abänderst.

« Letzte Änderung: 18.07.05 - 15:56:47 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Drucken per Maske
« Antwort #8 am: 18.07.05 - 15:50:28 »
Ich wirst ein wenig Probleme bekommen den agent am server laufen zu lassen, da gibt es keine UIDOC's. (nur Frontend)
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #9 am: 18.07.05 - 15:56:21 »
Das Script ist übrigens von mir, aber egal. Das das Ding net läuft merk ich selbst.


Dachte ich könnte durch einen Vergleich mit Feldern was bewirken, aber nix da.



Set doc = thisdoccol.getfirstdocument()
Do While Not doc Is Nothing
doc.Form="Druckmaske"
Call workspace.EditDocument(False,Doc)
Set uidoc=WorkSpace.CurrentDocument
Call uidoc.Print( 1 )
Call uidoc.close(True)
Set doc = thisdoccol.GetNextDocument(doc)
Loop

Das Zeug funktioniert ebenfalls nicht. Zumal ich hier nur sehe, das ich ne Maske öffne, die mit Feldern aus ner anderen Maske fülle und dann drucke. Klappt nur, wenn man keine Einschränkung angeben möchte.


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #10 am: 18.07.05 - 16:06:10 »
Ja glaubst du denn ich schreib dir das Mundfertig und komplett da hin?

Zahlst du mir was für die Dienstleistung?

Nee eigentlich dann doch nicht!

Klar macht das nicht komplett das was du willst. Das ist ja schließlich nur der Druckteil und der funktioniert. Das mit doc.form ist in diesem Fall eingebaut worden, weil die Druckmaske nicht der Editiermaske entspricht.
 Wenn du das nicht brauchst lässt du es einfach weg.
Deine DocumentCollection musst du vorher schon irgendwie zusammenbauen, sonst gibt das Ärger im Revier. Und um die zusammenzubauen brauchst du eine Eingabemaske in der du deine Werte nach denen du die Datenbank abklappern willst abfragst.
Ich nehme mal an dein bereits vorhandenes UIDOC liefert dir das zurück und mit diesen Werten kannst du entweder einen db.search oder einen db.FTSearch mit dem unten bereits einmal geschilderten und von dir so großzügig in Bausch und Bogen abgelehnten Verfahren benutzen um die DocumentCollection die du brauchst zu erzeugen.
« Letzte Änderung: 18.07.05 - 21:42:05 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #11 am: 19.07.05 - 09:10:53 »
Ja glaubst du denn ich schreib dir das Mundfertig und komplett da hin?

Zahlst du mir was für die Dienstleistung?

Nee eigentlich dann doch nicht!



Hab ich nie verlangt, das Du mir ein fertiges Script schreibst. Wollte mir nur ein paar Denkanstöße holen. Dafür ist doch dieses Forum da. Wenn ich mir das Ding fertig schreiben lassen würde, könnte ich auch unsere Notes Cracks fragen. Aber darauf hab ich kein Bock und der Lerneffekt wäre gleich null.

Ihr habt mir ein paar Ansätze gegeben, wofür ich sehr dankbar bin. Aber bitte mir keine Unterstellungen wie "kein strukturiertes Denken" oder "soll ich Dir ein fertiges Script liefern?". Mach ich ja bei Dir auch nicht! ;)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Drucken per Maske
« Antwort #12 am: 19.07.05 - 09:17:46 »
Aber ich denke Thomas hat den Punkt auf dem i getroffen wenn er so reagiert. Du postest ein Script was zu dem was du möchtest garnicht dazu passt oder nur ansatzweise. Wenn du dir was hier jetzt an Script steht zusammenstellst dann solltest du die Lösung haben.
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #13 am: 19.07.05 - 09:32:58 »
Vielleicht hab ich mich ein wenig blöd ausgedrückt sorry! Aber wassoll man machen? 2. Lehrjahr, seit einem Monat Notes Erfahrung, natürlich alles Selbststudium, und ein Chef, der keine IT Ausbildung hat bzw. keine vergleichbaren Vorkenntnisse...dann seine Wünsche erst mal zu verstehen ist net leicht.


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Drucken per Maske
« Antwort #14 am: 19.07.05 - 09:41:15 »
mit Call uidoc.close(True) schliesst du das gegenwärtige Frontend-Dokument.
Mit dieser Zeile holst du dir ein neues Backend-Dokument:
Set doc = thisdoccol.GetNextDocument(doc)
Loop - neue Schleife.

Du hast das 2. Backenddokument aber nun nicht im Frontend.
Man kann so etwas hinkriegen.

Dafür musst du aber vermutlich im queryclose der Druckmaske dir das nächste Dokument im Workspace über

newDoc = vw.getNextDocument (doc)
workspace.EditDocument(False,newDoc) ins Frontend holen. Das geht. Es wird z.B. gerne

eingesetzt, um das gleiche Dokument neu zu öffnen, etwa um gerade vom Anwender geänderte RichTextFelder anzuzeigen, geht nur über das geschilderte vorgehen.
In dem von dir geschilderten Anwendungsfall ist es aber vermutlich nicht besonders sinnvoll.

Seine Wünsche zu verstehen...
Sag ihm einfach, er soll deinen Account benutzen und wir führen hier die Sinndiskussion von dem Use-Case. Lösch aber vorher das mit der nicht vorhandenen IT-Ausbildung.

Gruß Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #15 am: 19.07.05 - 10:46:08 »
Vielleicht hab ich mich ein wenig blöd ausgedrückt sorry! Aber wassoll man machen? 2. Lehrjahr, seit einem Monat Notes Erfahrung, natürlich alles Selbststudium, und ein Chef, der keine IT Ausbildung hat bzw. keine vergleichbaren Vorkenntnisse...dann seine Wünsche erst mal zu verstehen ist net leicht.
Zweites Lehrjahr von was?
FI Fachrichtung Technik oder Entwicklung?
Und wo?
Wenn du in Bayreuth lernst nehme ich alles zurück. Da wird einem Strukturiertes Denken nicht beigebracht. Da wird eher verhindert das man das lernt.
Aber sonst. Wenn du einen Monat Notes Erfahrung hast (Naja das ist wohl eher keine Erfahrung) und dann auf solche Aufgaben losgelassen wirst dann stellt sich mir die Frage ob deine Ausbilder eigentlich wissen was sie tun.

In diesem Fall. Hol dir bevor du weiter machst die Kurse DB Entwicklung 1, DB Entwicklung 2 DB Entwicklung 3 und Lotus Script vom Herdt Verlag (das macht in Summe so 80 Euronen aus) und mach die einmal komplett durch. Dazu brauchst du ungefähr einen Monat wenn du durcharbeiten kannst. Danach kennst du zumindest ansatzweise die Strukturen die Notes verlangt und die Abhängigkeiten der einzelnen Klassen in Notes und dir passiert das gleiche Chaos nicht noch einmal. Außerdem ist eines der verfügbaren Klassen Poster mit Sicherheit eine gute Idee.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #16 am: 19.07.05 - 11:19:31 »
Fachinformatiker 2. Lehrjahr in Mainz...

In meinem Betrieb wechsel ich alle 3 Monate die Fachabteilung. Ma Entwicklung, ma Support, auch langweiliger Bürokram war auch dabei.

Man muss sich sehr viel selbst beibringen. Bei Notes hab ich mir alles selbst beigebracht. Komm aber zum Glück demnächst in die entsprechende Fachabteilung...

Bücher haben wir hier auch. Glaub sogar vom gleichen Verlag...bin mir nicht sicher.

Das Drucken klappt übrigens...habs doch mit nem FTSearch und ein wenig Notes Hilfe gepackt! ;)


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Drucken per Maske
« Antwort #17 am: 19.07.05 - 11:23:19 »
Sag ich doch das es so funzt. Glaub einem alten Mann doch mal was.  :P
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Drucken per Maske
« Antwort #18 am: 19.07.05 - 11:25:37 »
Ich finde es z.T. normal, dass sich die Software Entwicklung immer am Abgrund von Unwissenheit, Chaos und überflutet werden befindet. Wenn nur noch die Teile die Arbeit machen, die wirklich *immer* wissen, was sie tun, müßten eine Menge Leute gefeuert werden.
Wer innerhalb der letzten 6 Monate *nie* mal aufgrund von fehlenden Informationen in die falsche Richtung gallopiert wäre, der werfe den ersten Stein.

Lange Bahnfahrten in der letzten Woche haben mich wieder zu Karl Poppers "Die offene Gesellschaft und ihre Feinde. Teil 2" geführt. Ich hab etwas wiedergewonnen, das ich als Student besass. Ich werde nun auch "Logik der Forschung" kaufen.
@Thomas: nicht persönlich gemeint und sicher nicht böse, aber du kannst mit solchen Aussagen so leicht als - in den Worten W. Nideggens - Durchblickprofi aus dem Bausparverein fehlinterpretiert werden.

Man muss sich sehr viel selbst beibringen.
das bleibt so

pease Axel
« Letzte Änderung: 19.07.05 - 11:37:48 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Wanderwiesel

  • Frischling
  • *
  • Beiträge: 29
Re: Drucken per Maske
« Antwort #19 am: 20.07.05 - 10:08:37 »
Moin,

muss Euch doch nochmal wegen meinem Script nerven. Hatte das zwar gestern hinbekommen mit einem Schlüsselwort. Nur mit zweien klappt es nicht. Macht er einfach gar nichts.

Hier mein Script:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkSpace
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim uidoc As NotesUIDocument
   
   Set db = session.CurrentDatabase
   Set view = db.GetView( "($LookupLehrjahr)" )
   Set dc = db.FTSearch(Einsatz_Einheit,0)
   Set doc = dc.GetFirstDocument()
   
   While Not doc Is Nothing
      doc.Form="Druckvorlage Azubi"
      Call ws.EditDocument(False,doc)
      Set uidoc=ws.CurrentDocument
      Call uidoc.Print( 1 )
      Call uidoc.close(True)
      Set doc = dc.GetNextDocument(doc)
   Wend
   
End Sub

Wenn ich anstatt der DocumentCollection eine View anspreche, druckt er. Sonst macht er nichts. Gibt nichtmal en Fehler aus. Beim Debuggen geht auch nicht in die Schleife. In der DocCollection steht nichts drin. Habe die Hilfe heut morgen schon durchsucht, aber kein passendes Beispiel gefunden.

Brauche kein vollständiges Scirpt. Nur einen Hinweis, wo der Fehler liegt. Danke!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz