Fehler #410
Leere individuelle Lieferadressen werden angelegt
0%
Beschreibung
Beim Speichern eines Belegs (Angebot/Auftrag (alte Maske) / Lieferschein/Rechnung) werden (fast) leere individuelle Lieferadressen (custom shipto) angelegt.
Der Code in SL::Form::add_shipto prüft, ob eines der Felder gesetzt ist und shiptocp_gender ist auf 'm' voreingestellt und damit immer gesetzt.
Das lässt sich leicht beheben (siehe angehängten patch).
Ein Upgrade-Skript wäre sicher noch sinnvoll. Alle Lieferadressen, deren Felder bis auf shiptocp_gender leer sind, löschen. Aber nur, wenn module != 'CT' (oder auch dann?).
Ich habe in einer DB auch den Fall, dass es eine "leere" shipto gibt, die zu einer Storno-Rechnung gehört (shipto_id der Storno-RG = shipto.shipto_id). In dieser shipto ist die trans_id = ar.id der orignalen (stornierten Rechnung). Wo das herkommt, weiß ich nicht.
Ich denke, entweder alle "leeren" shiptos löschen, wo module != 'CT' ist und die nicht in shipto_id von oe, delivery_orders, ar sind.
Oder alle "leeren" shiptos löschen und evtl. Verweise in customer/vendor/oe/delivery_order/ar auch entfernen.
Ah - und inzwischen gibt es ja auch CVars - die müssten dann entspr. auch gelöscht werden bzw. dann auch nur die shiptos, bei denen die CVars nicht gesetzt sind. Was ein Problem ist, da die CVars auch angelegt werden und wenn die einen default-Wert haben, dann sind die nicht leer.
Vielleicht hat ja jemand eine Idee.
Dateien
Zugehörige Revisionen
Individuelle Lieferadresse hinzufügen: cp_gender nicht vergessen
shiptocp_gender darf bei der Prüfung, ob die Lieferadresse hinzugefügt werden
soll (also nicht leer ist), nicht berücksichtigt werden, da shiptocp_gender nie
leer ist.
Allerdings muss shiptocp_gender sehr wohl beim INSERT oder UPDATE
berücksichtig werden.
Der Fehler kam mit
"Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …"
(commit b8fa93b5d2cfff453fd8a82206d1a288407a8be6) rein.
Individuelle Lieferadresse hinzufügen: falsche Reihenfolge der Werte korrigiert
kam mit "Individuelle Lieferadresse hinzufügen: cp_gender nicht vergessen"
(commit bca91008eddc6a1734a75fcd555f10d1c8ac65f6),
bzw. "Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …"
(commit b8fa93b5d2cfff453fd8a82206d1a288407a8be6) rein.
Bezieht sich auch auf #410 (redmine)
Refs #410
Behebt #438 (redmine).
Individuelle Lieferadresse hinzufügen: cp_gender nicht auf leer prüfen …
…, denn das ist nie leer.
Und sonst werden individuelle Lieferadressen angelegt, obwohl keine
Eingaben gemacht wurden.
Hierzu sollte evtl. noch ein DB-Upgrade-Skript erstellt werden, welches
die leeren shiptos entfernt. Das ist allerdings nicht ganz einfach (siehe
auch Ticket).
Bezieht sich auch auf #410 (redmine)
Refs #410