Fehler #62
Auftragsnummer in Auftragspositionen - ordnumber
0%
Beschreibung
Mir ist heute aufgefallen, daß es in orderitems einen Datenbankspalte ordnumber gibt, wo zu jeder Auftragsposition die aktuelle Auftragsnummer mitgespeichert wird
Die Idee ist wohl, daß wenn man einen Auftrag aus mehreren Aufträgen zusammenfügt, und daraus eine Rechnung macht, man nachverfolgen kann, aus welchem Auftrag die einzelnen Positionen ursprünglich mal kamen. Das kann man auch auf der Rechnung mit ausdrucken, dafür gibt es die Druckvorlagenvariable ordnumber_oe bei den Rechnungspositionen, die sich auf ordnumber in invoice bezieht.
Mal davon abgesehen, daß man besser mit den ids arbeiten sollte, und die Einzelpositionen intern mittlerweile über record_links nachverfolgt werden können (glaube ich), scheint das alles recht buggy zu sein:
Speichert man einen Auftrag zum ersten Mal ab, wird ordnumber in orderitems nicht gesetzt und bleibt leer, erst bei erneutem Speichern werden diese Daten gespeichert. ($form->{"ordnumber_$i"} ist noch nicht gesetzt. Das gleiche gilt übrigens auch für transdate in orderitems).
Ändert man die Auftragsnummer oder das Auftragsdatum und speichert den Auftrag erneut, werden ordnumber und transdate in order_items nicht mit aktualisiert.
Generiert man einen neuen Auftrag aus einem alten Auftrag (durch "als neu speichern"), wird dort nicht die (automatisch) neu vergebene Auftragsnummer gespeichert, sondern die alte aus dem Ursprungsauftrag übernommen, das ist in den allermeisten Fällen wohl auch nicht gewünscht.
Historie
Von G. Richardson vor mehr als 9 Jahren aktualisiert
- Status wurde von Neu zu Gelöst geändert
In Commit c1ec3f4f93af wurde das Verhalten umgestellt, es werden nun ordnumber, transdate und cusordnumber nicht mehr in orderitems gespeichert, und stattdessen werden beim Drucken von Rechnungen die Informationen für die Druckvorlage aus RecordLinks bestimmt.
Für alte Belege, wo ordnumber noch existiert, wird aber noch der alte Wert genommen.