Erstellt vor 19 Monaten

Geschlossen vor 14 Monaten

Zuletzt geändert vor 14 Monaten

#2347 closed Fehler (fixed)

Chaos in Benutzerdefinierte Variablen

Erstellt von: w.toews Verantwortlicher: niclas@…
Priorität: normal Meilenstein: 3.0.0
Komponente: kivitendo ERP Version: 3.0.0 unstable
Schweregrad: normal Stichworte:
Beobachter:

Beschreibung

Bei der Fehlersuche bin ich auf zwei gravierende Probleme in der Behandlung von Benutzerdefinierte Variablen gestoßen:

  1. Einträge in customer_variables werden nie gelöscht.

Sogar beim Update von bestehenden Einträgen, wird ein INSERT durchgeführt ohne die alten Einträge zu löschen.

  1. In get_custom_variables wird nicht geprüft zu welchem sub_module der Eintag gehört,

so dass es (im Zusammenspiel mit 1.) passieren kann, dass in den Stammdaten auf einmal Werte aus Rechnungen, Lieferscheinen, etc „auftauchen“

Folgender Patch sollte beide Fehler beheben.

Gruß Waldemar

Anhänge (1)

lx-office-erp.git-a799a1a549664f034385429fd459781ef027a581.patch (7.8 KB) - hinzugefügt von w.toews vor 19 Monaten.

Alle Anhänge herunterladen als: .zip

Änderungshistorie (5)

comment:1 Geändert vor 19 Monaten durch Niclas

  1. Sicher, dass du hier auf der aktuellen unstable bist? So etwas wie SL/CT.pm existiert zwar noch, aber mittlerweile laufen fast alle Sachen, was Kunden und benutzerdefinierte Variablen betrifft über Controller. Das Löschen von Kunden/Bearbeiten? von benutzerdefinierten Variablen funktioniert auf der aktuellen Version daher (fast) einwandfrei.
  1. Bestimmt meinst du das module 'IC', oder? Das gehört allerdings nicht zu Rechnungen/Lieferscheinen? etc., sondern zu Waren. (Siehe auch Ticket #2188, Aufträge etc haben noch keine eigenen benutzerdefinierten Variablen). Aber auch dieses Verhalten konnte ich mit der aktuellen Version nicht reproduzieren.

Was mir allerdings aufgefallen ist:

  • Wann man zwei benutzerdefinierte Variablen hat (Textfelder), die denselben Wert haben und eins davon ändert, so wird die Änderung von der einen Variable auch in die andere übernommen.
  • Man sollte nochmal überprüfen, wo der alte Code (zumindest von bin/mozilla/ct.pl) gebraucht/aufgerufen wird und ihn mit dem neuen Controller ersetzen (falls möglich). Eine Stelle, die mit Sicherheit falsch ist, ist an folgender Stelle: Stammdaten->Berichte->Kunden und hier einmal unter Neuer Kunde auf 'Erfassen' klicken (es wird ganz anderer Code benutzt als unter Stammdaten->Kunde erfassen).

comment:2 Geändert vor 14 Monaten durch s.schoeling@…

  • Status von new nach assigned geändert
  • Verantwortlicher auf niclas@… gesetzt

comment:3 Geändert vor 14 Monaten durch Niclas

  • Lösung auf fixed gesetzt
  • Status von assigned nach closed geändert

In d169fd62e34bb1fb90e30198109b50f2fff365e8/erp:

Benutzer-Variablen aus Aufträgen/Lieferscheinen/Rechnungen? löschen

Wenn man Aufträge/Lieferscheine/Rechnungen? löscht, werden jetzt
zugehörige benutzerdefinierte Variablen gelöscht.

Fixt #2347.

comment:4 Geändert vor 14 Monaten durch Niclas

Die Variablen werden jetzt via Trigger gelöscht. Das Problem mit einer Anzeige von falschen Variablen in den Stammdaten konnte ich nicht feststellen. Falls das Problem nochmal auftauchen sollte, bitte Bescheid geben an welcher Stelle genau es Auftritt (bei Kunden/Waren/Projekten/?..., beim erstellen oder in einem Bericht?) und um was für eine Variable es sich handelt (aus Auftrag/Rechnung/Projekt/?...?).

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.