Moin nochmal,
beim weiteren Testen ist mir noch Folgendes untergekommen:
Beim Versuch, einen Lieferschein über den Standardlagerplatz ohne Prüfung der Lagermenge auszulagern, wird der Fehler
Can't call method "parts_id" on an undefined value at /usr/local/src/lx-office-erp/SL/Controller/DeliveryOrder.pm line 1260.
geworfen. Ich habe den gesamten Workflow über Angebot, Auftragseingang¹, Auftragsbestätigung, Anzahlungsrechnung, Lieferschein verwendet, falls das von Belang ist.
Der Fehler ist in der Steigmann-Werft-Demo reproduzierbar.
Hab dann mal ein wenig nachgeforscht und gefunden, dass ins Array @transfer_requests bereits eine dereferenzierte parts_id gepusht wird. Da ich nicht wusste, wofür das nochmal gut sein kann, habe ich zusätzlich das ganze Item mit dazu gepusht (anstatt einfach die Zeile 1260 entsprechend zu ändern), damit der Vergleich in Zeile 1260 nicht fehlschlägt.
push @transfer_requests, {
'delivery_order_item' => $item,
'delivery_order_item_id' => $item->id,
'warehouse_id' => $part->warehouse_id || $default_warehouse_id,
Damit hat das zwar soweit funktioniert, das Auslagern läuft aber dahinter in eine Endlosschleife (ich bekomme einen Timeout-Fehler von mod_fcgi).
Das schaue ich mir dann nach dem Aufstehen nochmal an, vielleicht schaut ja auch mal jemand anders darüber. ;-)
Grüße,
Hannes