Seite 1 von 1

Update 2.4.5 druckt nicht mehr

Verfasst: Mi 5. Okt 2022, 19:21
von commander
Hallo,

seit dem Update drucken meine Drucker nicht mehr.
In der AdminAnsicht unter Druckerwsrteschlangen stehen die Aufträge aber es geht dann nicht weiter.

Hatte jemand das gleiche Problem?

Kennt jemand eine Lösung?

Vielen Dank und Grüße aus NRW🤣

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Mi 5. Okt 2022, 20:14
von pichel
Hallo allerseits,

nach einer Teamviewer-Sitzung mit commander hat sich folgendes ergeben:

In PHP kleiner oder gleich 7.2 (vielleicht sogar auch noch in PHP 7.3) führt eine Änderung, die ich explizit für die Kompatibilität mit PHP 8.x in Version 2.4.5 vorgenommen habe, leider zu einem Fatal Error beim Drucken. Das ist leicht zu beheben, indem in der Datei layouter.php (im Unterverzeichnis php/utilities) in Zeile 261

Code: Alles auswählen

public function jsonSerialize(): mixed

ersetzt wird durch

Code: Alles auswählen

public function jsonSerialize()
(Also das mixed herausgenommen wird).

Gruß,

Stefan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Fr 7. Okt 2022, 15:45
von Jan Bretschneider
Hallo Stefan,

code geändert. Nun druckt es, aber immer zwei Bon!

Gruß
Jan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Fr 7. Okt 2022, 16:22
von pichel
Hallo Jan,

mit der Änderung hast du eigentlich nur den Layout-Code auf die Vorversion zurück gedreht. Warum sollten deswegen jetzt zwei Bons rauskommen? Bist du dir sicher, dass du nicht noch eine andere Änderung gebraucht hast?

Gruß,

Stefan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Mo 10. Okt 2022, 20:23
von pichel
Kurzes Update von meiner Seite zum Druckproblem:

Mit der Anpassung für PHP 8.x tritt das Druckproblem auch unter PHP 7.4 auf - das war mir in der Testumgebung nicht aufgefallen, weil ich den Druck immer nur "simuliere".

Ich sehe keine praktikable Lösung, den Sourcecode so umzuschreiben, dass er sowohl für PHP 7.x als auch 8.x gleichermaßen funktioniert. Mit der geänderten Methodensignatur einer bestimmten Methode (jsonSerialize) haben die PHP-Designer zwar sauberen Code produziert, aber keine Abwärtskompatibilität mehr zu PHP 7 mehr möglich gemacht.

Das ist eine sehr unbefriedigende Situation für OrderSprinter, da die installed base vermutlich noch zu einem Großteil auf PHP 7 setzt, während Neuinstallationen i.d.R. PHP 8 nutzen.

Ich habe mich entschieden, nun auf PHP 8 zu setzen und einen Hinweis auf der Downloadseite zu hinterlassen, welche Stelle für PHP 7 angepasst werden muss.

Stefan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Di 11. Okt 2022, 18:40
von Jan Bretschneider
Hallo Stefan,

vielen Dank für deinen Hinweis. Also umstellen auf PHP 8, oder nicht updaten.

Gruß
Jan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Do 13. Okt 2022, 16:31
von Jan Bretschneider
Hallo Stefan,

so nur zur Information, hab PHP7.3 und deinen Hinweis berücksichtigt. Jetzt Druckt der Drucker wie befohlen, einmal und nicht zweimal.
Alles im grünen Bereich. ;)

Gruß
Jan

Re: Update 2.4.5 druckt nicht mehr

Verfasst: Mo 24. Okt 2022, 23:27
von pichel
Hallo allerseits,

ich habe in der 2.4.7 die Software so umgebaut, dass die problematische Funktion, die sich nicht einheitlich für PHP 7 und 8 implementieren ließ, nicht mehr enthalten ist. Nun sollte OrderSprinter wieder ohne manuelle Nachbearbeitung in jeder Umgebung mit PHP 7 oder 8 laufen.

Gruß,

Stefan