Projekt

Allgemein

Profil

Unterstützung #611

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

Von Jan Büren vor mehr als 1 Jahr hinzugefügt.

Status:
Neu
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
16.08.2023
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

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.

Auch abrufbar als: Atom PDF