Projekt

Allgemein

Profil

Fehler #410

Leere individuelle Lieferadressen werden angelegt

Von Bernd Bleßmann vor mehr als 4 Jahren hinzugefügt.

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

0%

Geschätzter Aufwand:

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

add_shipto.patch (470 Bytes) add_shipto.patch Patch zu add_shipto Bernd Bleßmann, 05.12.2019 11:07
delete_empty_shipto_cvars_ignored.sql (669 Bytes) delete_empty_shipto_cvars_ignored.sql Bernd Bleßmann, 05.12.2019 12:16

Zugehörige Revisionen

Revision b8fa93b5 (diff)
Von Bernd Bleßmann vor mehr als 4 Jahren hinzugefügt

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

Revision bca91008 (diff)
Von Bernd Bleßmann vor etwa 4 Jahren hinzugefügt

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.

Bezieht sich auch auf #410 (redmine)
Refs #410

Revision 15e3714a (diff)
Von Bernd Bleßmann vor mehr als 3 Jahren hinzugefügt

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).

Auch abrufbar als: Atom PDF