Project

General

Profile

Unterstützung #611

Bei Unterversionierten Aufträgen wird kein Link im Lieferschein-Bericht angezeigt

Added by Jan Büren about 1 year ago.

Status:
Neu
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
08/16/2023
Due date:
% Done:

0%

Estimated time:

Description

Das Problem ist, dass die Abfrage in DO.pm hart nach der ordnumber sucht und nicht die wirklichen Verknüpfungen untersucht.

Folgender Patch löst das Problem:

+++ b/SL/DO.pm
-304,8 +304,15
@ SQL
}

next unless ($dord->{ordnumber});
- do_statement($form, $sth, $query, $dord->{ordnumber});
- ($dord->{oe_id}) = $sth->fetchrow_array();
+ # first check linked records
+ my $do = SL::DB::DeliveryOrder->load_cached($dord->{id});
+ my $orders = $do->linked_records(from => 'Order');
+ if (scalar { $orders } == 1) {
+ $dord->{oe_id} = $orders->[0]->id;
+ } else {
+ do_statement($form, $sth, $query, $dord->{ordnumber});
+ ($dord->{oe_id}) = $sth->fetchrow_array();
+ }
}

Allerdings ist zusätzlich noch unklar auf welche Version sich der Lieferschein bezieht, da ja im Lieferschein die Nummer ohne Unterversion erzeugt wurde, ist dies eine Lieferung die vom vorherigen Beleg erstellt worden ist. Ggf. müsste man Unterversionierung auch verbieten, sobald der Workflow weitergelaufen ist.

Anyway, nach wirklichen Verknüpfungen suchen, sollte schon mal prinzipiell schlauer sein, als hart nach der Auftragsnummer in oe.

Also available in: Atom PDF