Autor Thema: Dokumente werden nicht ausgedruckt.  (Gelesen 1861 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Dokumente werden nicht ausgedruckt.
« am: 17.05.05 - 17:27:46 »
Hallo!

Mir ist klar, dass Notes und Drucken nicht zusammen gehören. Was soll man aber machen, wenn es unbedingt sein muss...!?  :P

Folgendes Problem habe ich:
In einer Ansicht ist die erst Spalte kategorisiert. In dem Feld, das kategorisiert angezeigt wird, sind Mehrfachwerte erlaubt.
Wenn ich in der Ansicht mit Strg+a alle Dokumente auswähle und dann die Dokumente ausdrucke, werden nicht alle Dokumente gedruckt. (Die DB liegt auf einem Server)

Bei der Fehlersuche, bin ich draufgekommen, dass, wenn die DB lokal liegt, die Dokumente richtig gedruckt werden.

Ich habe mal eine kleine Test-DB angehängt.
In der DB sind 3 Dokumente. Das erste wird 2 mal angezeigt. Wenn ich dann alle Doks makiere sind in der Ansicht dann vier Haken. Irgendwie denkt Notes "3 Dokumente, also druck ich die ersten 3 Haken aus".
Sehr blöde Sache.

Hat jemand eine Idee, warum das so ist bzw. wie ich den Fehler beheben könnte?!

lG
-daniel
« Letzte Änderung: 19.05.05 - 16:52:34 von rar »
†090620141300

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Dokumente werden nicht ausgedruckt.
« Antwort #1 am: 17.05.05 - 21:25:01 »
Gerade mit Deiner DB gestetet: Ist bei mir auch so:
Strg+A, dann Drucken --> es werden 2 statt 3 Dokumente gedruckt. Das letzte nicht.

Testumgebung: ND 6.5.3 Englisch, lokal

Die UnproccessedDocuments - Methode funktioniert aber korrekt, ich hab mal folgenden Code in einem View-Button getestet:

Code
Sub Click(Source As Button)
	
	On Error Goto ErrorHandler
	
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim collection As NotesDocumentCollection
	Dim doc As NotesDocument
	
	Set db = session.CurrentDatabase
	Set collection = db.UnprocessedDocuments
	Set doc = collection.GetFirstDocument
	
	While Not(doc Is Nothing)
		Msgbox "Kategorie: " & doc.Kategorie(0) & Chr(10) & "Text: " & doc.Text(0),64, "Test"
		Set doc = collection.GetNextDocument(doc)
	Wend	
	
GoOut:
	Exit Sub
ErrorHandler:
	Msgbox "Fehler " & Err & " - " & Error$ & Chr(10) _
	& "in Zeile " & Erl, 48, "Laufzeitfehler"
	Resume GoOut
End Sub

Ist also ein Bug so wie ich das sehe.
Könntest halt mit obigem Codebeispiel einen Workaround reinbauen. Und statt der Messagebox dann:
Code
Set uidoc = uiws.EditDocument( False, doc, True)
Call uidoc.Print (1)
Call uidoc.close(True)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente werden nicht ausgedruckt.
« Antwort #2 am: 18.05.05 - 09:04:11 »
Danke fürs nachschauen und den Tipp Matthias.  :)

Leider hilft mir das nicht so recht weiter. Ich soll nämlich die Dokumente mit einer Alternativen Maske auf einer Seite ausdrucken.
Eigentlich sollte es fein gehen.
Die Zeilen
Call uiview.Print(1, 0, 0, False, 0,"Alternative Maske", False) oder
@Command([FilePrint] ; "" ; "" ; "" ; "" ; "" ; "Alternative Maske" )
machen genau das was ich will. Bei beiden tritt aber der Bug auf.

Bei uidoc.Print habe ich aber keine Möglichkeit eine alternative Maske mitzufgeben.

lg
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Dokumente werden nicht ausgedruckt.
« Antwort #3 am: 18.05.05 - 10:33:46 »
Doch, kannst Du, indem Du vor dem Print die alternative Maske ins Form-Feld hineinschreibst und nach dem Print wieder die ursprüngliche Maske hineinschreibst
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente werden nicht ausgedruckt.
« Antwort #4 am: 18.05.05 - 11:39:49 »
Auf die Idee bin ich nicht gekommen. Danke Jens.
Jedoch gibt es da 2 Probleme.... :-\

1.) Die es wird jede Kategorie seperat ausgedruckt. D.H. Dokumente, die 2 mal angezeigt werden, werden auch 2 mal ausgedruckt. Soll aber nicht sein.

2.) Ich muss unbedingt mehrere Dokumente auf eine Seite ausdrucken. Das geht so aber nicht.


Leider.


Hier noch ein paar Infos zu dem Ablauf und ein ev. weiterer Lösungsansatz, der aber auch nicht so richtig funktioniert:

In der DB gibt es viele Dokumente. Durch ein Klick auf ein Button werden bestimmte Doks gesucht und mit  Call coll.PutAllinFolder() in ein SPOFU Folder geschoben. Dann wird mit Call Call ws.ComposeDocument( "","", "DruckMaske") ein Dok erstellt. Im Queryopen der DruckMaske befindet sich der Code:
@Command([OpenView] ; "SPOFUFolder" ; "" ; "1" );
@Command([EditSelectAll]);
@Command([FilePrint] ; "" ; "" ; "" ; "" ; "" ; "alternativeMaske" );
@Command( [RemoveFromFolder] );
@Command([EditDeselectAll]);
@Command([FileCloseWindow])
Durch das FileCloseWindow wird der Ordner wieder geschlossen und es ist nur noch das erstellte Dok offen.
Das geht soweit. Wenn da nicht der Bug wäre.
Wie aber schon oben erwähnt werden alle Dokumente richtig ausgedruckt wenn die DB Lokal liegt. Daher dachte ich mir, dass ich den SPOFU Ordner in ein Gemeinsam, für Desktop privat bei Erstbenutzung Ordner ändere. Dadurch liegt der Ordner ja lokal am Desktop und alles sollte richtig ausgedruckt werden.
Hier kommt aber bei der Zeile Call coll.PutAllinFolder() die Fehlermeldung:
Can't move document to shared Private On First Use folder (FolderName)
Wenn ich die Doks händisch dorthin verschiebe und ausdrucke passt es. Das einzige Problem ist in dem Fall also nur noch das Call coll.PutAllinFolder(). Warum geht das nicht?  ???  :'(
Vielleicht ist das Problem so einfacher zu lösen.

lG
-daniel
†090620141300

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Dokumente werden nicht ausgedruckt.
« Antwort #5 am: 18.05.05 - 13:39:33 »
Der Ordner muss existieren, er kann mit dem Call nicht neu erstellt werden. In der KB und auch hier im Forum gibt es dazu Einträge
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente werden nicht ausgedruckt.
« Antwort #6 am: 18.05.05 - 14:47:59 »
Das ist schon klar, Jens.
Mir scheint so als ob ich heute von einem Notesbug zum andern hüpfe.  :'(
Heute ist ein schlechter Tag  :P

Bei mir klappt es einfach nicht. Ich kann in Script keine Dokumente in Ordner verschieben, die Gemeinsam, für Desktop privat bei Erstbenutzung sind. Wenn der private Ordner schon existiert.
Bei Normalen SPOFUOrdnern geht es schon.

lG ein verzweifelter
-daniel




Hier der Bsp.Code, dass man die paar Zeilen nicht tippen braucht:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Call collection.PutAllInFolder( "SfDPOFU" )
†090620141300

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Dokumente werden nicht ausgedruckt.
« Antwort #7 am: 18.05.05 - 21:22:28 »
@Daniel: kann man hier nicht Problem 1 von Problem 2 isolieren?

Wie willst Du denn drucken? Aus der Ansicht? Oder wie danach beschrieben die gefundenen Dokumente?

Falls 2.:
Ich würde das mit LotusScript machen.
User durchsucht die DB nach irgendwelchen Kriterien. Vermutlich db.Search ???
Also z.B. Set collection = db.Search(strSearchFormula, datetime, 0)

Nun hast Du also alle relevanten Dokumente in einer NotesDocumentCollection (collection).

Nun druckst Du die Dokumente per LS.
Z.B.:
Code
Set docLoop = collection.GetFirstDocument
While Not(docLoop Is Nothing)
 docLoop.Form = "frmPrint" 'Deine Druck-Maske - bitte ohne den oben erwähnten @Formula
 Set uidocPrint = uiws.EditDocument( False, docLoop, True)
 Call uidocPrint.Print (1)
 Call uidocPrint.close
 Set docLoop = collection.GetNextDocument(docLoop)
Wend
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente werden nicht ausgedruckt.
« Antwort #8 am: 19.05.05 - 09:14:26 »
Hi Matthias.
Es stimmt schon, dass die beiden Probleme nix miteinander zu tun haben.
Das zweite Problem (PutAllInFolder bei SDPOFU) ist nur aufgetreten, weil ich verzweifelt nach einem Workaround wegen dem ersten Bug gesucht habe.

Was will ich drucken?
Ich habe eine Ansicht mit ca 300 Dokumenten. In einem Feld steht ein Username. Die Ansicht ist kategorisiert nach dem Usernamen. 120 Doks haben UserA in dem Feld stehen, bei 50 Doks steht UserB und beim Rest steht UserC.
Jetzt muss UserA seine Dokumente mit einer einer alternativen (Druck)maske ausdrucken. Um Papier zu sparen, müssen aber mehrere Doks auf einer Seite ausgedruckt werden. Es werden dann statt den 120 Seiten nur noch ca. 10 Seiten ausgedruckt.
Mit dem Call uidocPrint.Print (1) wird aber jedes Dokument auf eine eigene Seite gedruckt.

Ich glaube die einzigen Möglichkeiten, mehrere Dokumente auf eine Seite zu drucken, sind
- Call uiview.Print(1, 0, 0, False, 0,"Alternative Maske", False)
- @Command([FilePrint] ; "" ; "" ; "" ; "" ; "" ; "Alternative Maske" )

Aber damit hab ich ja die Probleme.

Die Collection befülle ich übrigens mit Set coll = view.Getalldocumentsbykey(session.UserName,True)
und verschiebe sie dann in den SPOFUOrdner, aus dem ich drucken will.


Mir ist aber grad eingefallen, dass ich die SPOFU ganz weglassen könnte und direkt aus der kategorisierten Ansicht heraus drucken kann. Ich müsste dann halt nur noch wissen wie ich mehrere Dokumente selektieren kann.

lG
-daniel in alter frische
†090620141300

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente werden nicht ausgedruckt.
« Antwort #9 am: 19.05.05 - 16:52:00 »
 :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
Ich habs geschafft. Jetzt funktioniert alles wie es sollte.

Vielen Dank für die Hilfen

-daniel
†090620141300

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz