HTTP 500 bei absolut Rabatt

Hi,

mir ist seit einigen Dolibarr Version (glaub seit der 16er sogar schon) aufgefallen, dass, wenn ich einen absoluten Kundenrabatt bei einem Kunden eintragen will, ich in Verwendung mit PHP 8/8.1 einen HTTP 500 Error bekomme.
Auch in der aktuellen Version 18.0.4.
Wenn ich auf PHP 7.4 zurückgehe, funktioniert alles.

Hat das noch jemand?

Mein Testsystem:
Ubuntu 22.04 / Debian 12.4
PHP 8.1
Apache
MariaDB
Dolibarr 18.0.4

Bei mir funktioniert das Eintragen und Löschen eines absoluten Rabatts. Ich hatte das früher noch nie verwendet, es jetzt versucht und es gab keinen Fehler.

Gentoo Linux
PHP/fpm 8.1.20
Nginx
MariaDB
Dolibarr 18.0.3

Wenn ein HTTP-Error ausgegeben wird, müsste etwas im Error-Log des Webservers stehen.

1 „Gefällt mir“

Bei mir funktioniert das auch nicht, habe aber keine Ahnung, wie ich dem Fehler und seiner Lösung auf die Spur kommen kann.

Ich habe das Syslog (Debug) eingeschaltet, aber da ist nicht einmal der Fehler 500 vermerkt. Dafür 1500 andere Dinge.

Ich habe Version 19.0.2 - ohne die Möglichkeit zum Update. Aber das ist eine andere Geschichte.

Ich schaue bei solchen Problemen erst mal wo bzw. wo bevor der Fehler auftritt.

Also hier wird der Discount auf der Seite ~/dolibarr/comm/remx.php?id=xxxx eingetragen.
Und in remx.php dann nach
if ($action == 'setremise' && $permissiontocreate) {
einfach passende Debug-Ausgaben einfügen.

z.B.: Anzeige der übergebenen Werte

if ($action == 'setremise' && $permissiontocreate) {
   print "<br>Post-Array: "; 
   var_dump($_POST);	
   exit;

und falls das mit den Werten so passt, dann einfach an der nächsten Stelle entsprechende Debug-Ausgaben einfügen.

Evtl. wäre es auch hilfreich direkt in der DB in der Tabelle llx_societe_remise_except nachzuschauen, ob der Discount evtl. schon eingefügt wurde.
Das würde dann das debuggen auf die Zeilen ab

	$discountid = $soc->set_remise_except($amount, $user, $desc, $tva_tx, $discount_type, $price_base_type);

einschränken.

Das Einfügen eines absoluten Rabattes funktioniert hier einwandfrei.
Meine Version ist 17.0.2 mit Apache/2.4.51 (Win64) PHP/8.2.22