Bericht erzeugen & an Drucker senden per Formular Button

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Dragonball
Beiträge: 2
Registriert: Fr, 22.03.2013 10:00

Bericht erzeugen & an Drucker senden per Formular Button

Beitrag von Dragonball »

Hallo,

mit Hilfe einiger Beispiele versuche ich schon seit Wochen einen erzeugten Bericht direkt an den Drucker per Formular Button zu senden.
Ich kann den Bericht erzeugen aber nicht an den Drucker senden. Bei meinen Makro stürtz OOBase ständig nachdem dieser gedruckt hat.
Ich habe bereits überall im Internet nachgeschaut aber konnte keine Lösung finden. Bin mir auf nicht sicher woran es liegen kann.
Habe auch bereits versucht andere Java versionen zu verweden 1.7.0_17 , 16.0_43, 16.0_26, 16.0_25 und openoffice Komplett neuinstalliert aber kein Erfolg.
Auch auf anderen Windows 7 PCs bleibt das Problem bestehen.
Wäre dankbar wenn jemand eine Idee hätte was da gerade schief läuft.

Mein System OpenOffice 3.4.1, Windows 7 Ultimate 32bit, Java 16.0_43

Anbei ist der Code und die DB.

Code: Alles auswählen

Sub ImprimirCertificado( Evento )
Dim oReporte As Object	
Dim oConsulta As Object
Dim oCampoRegistro As Object
Dim oForm As Object
dim oDok as Object
Dim oDruckOpt(0) As New com.sun.star.beans.PropertyValue

	oForm = Evento.Source.Model.Parent	
	oCampoRegistro = oForm.GetByName("fmtClavePaciente")
	
	If oCampoRegistro.BoundField.Int > 0 Then 
		
		oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("Consulta_PacientesSO" )
						
		oConsulta.Command = "SELECT ""ClavePaciente"", ""IDPaciente"" FROM ""PacientesSO"" WHERE ""ClavePaciente"" = " & oCampoRegistro.BoundField.Int
		
		oReporte = ThisDatabaseDocument.ReportDocuments.getByName ("Inf-PacientesSO" )	
		
		oDok=oReporte.open
		
   oDruckOpt(0).Name="Wait"      '= Warten auf Beendigung des Druckauftrages
    oDruckOpt(0).Value=TRUE

   oDok.Print(oDruckOpt())
		
	End If
	
End Sub
Dateianhänge
IngresoPacientes1.odb
DB mit Patienten. Per Formularbutton soll ein erzeugter Bericht direkt an den Drucker gesendet werden.
(101.75 KiB) 45-mal heruntergeladen
OpenOffice 3.4.1 & Windows 7 Ultimate 32bit
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Bericht erzeugen & an Drucker senden per Formular Button

Beitrag von F3K Total »

Hallo,
du schickst den Druck gleich nach dem Öffnen (.open) des Berichts ab, da lädt der Bericht vermutlich noch.
Wenn ich zwischen dem Öffnen und dem Drucken 1s warte, habe ich keinen Absturz mit dem Beispieldokument, sonst schon, also:

Code: Alles auswählen

.
.
.
    oDok=oReporte.open
    wait 1000 'warten auf geladenen Bericht
   oDruckOpt(0).Name="Wait"
   oDruckOpt(0).Value=TRUE
.
.
.
Gruß R
Benutzeravatar
Dragonball
Beiträge: 2
Registriert: Fr, 22.03.2013 10:00

Re: Bericht erzeugen & an Drucker senden per Formular Button

Beitrag von Dragonball »

Hallo F3K Total,

das ist ja Super! Vielen Dank für den guten Tip.
Hätte nicht gedacht, dass eine Sekunde warten so viel ausmacht. :shock:
Dieses kleine Druckproblem hätte mich fast in den Wahnsinn getrieben :lol:

Bin weiterhin ein großer Fan dieses SUPER Forums!
DANKE!
OpenOffice 3.4.1 & Windows 7 Ultimate 32bit
Antworten