Fehler #237

Beim CSV-Import von KundInnen findet bei den benutzerdefinierten Variablen keine Aktualisierung bestehender Einträge statt

Von Andreas Rudin vor 10 Monaten hinzugefügt. Vor etwa 1 Monat aktualisiert.

Status:In BearbeitungBeginn:03.08.2017
Priorität:NormalAbgabedatum:
Zugewiesen an:-% erledigt:

90%

Kategorie:-
Zielversion:-

Beschreibung

Getestet mit 3.4.1 stable und unstable vom 2.4.2017

Wenn ich bei einem CVS-Import von Kundendaten bestehende Kundeneinträge aktualisieren möchte, so werden bei bestehenden KundInnen die Werte der fest in kivitendo vorhandenen Variablen korrekt aktualisiert, während alle benutzerdefinierten Variablen nicht aktualisiert werden.

Bei der Vorschau und bei der Anzeige des Import-Ergebnisses werden die neuen Werte für die benutzerdefinierten Variablen hingegen korrekt angezeigt.

(Beim CSV-Import von Waren klappt in der aktuellen unstable hingegen das Aktualisieren von benutzerdefinierten Variablen einwandfrei)

cvar_customer_import_vorschau_13042017.png (16,602 KB) Andreas Rudin, 13.04.2017 09:53

cvar_customer_import_ergebnis_13042017.png (15,419 KB) Andreas Rudin, 13.04.2017 09:53


Unteraufgaben

Fehler #287: Fehlerhafte Anzeige und Vergabe von Kundennummern beim CS...In Bearbeitung

Zugehörige Revisionen

Revision 096e6306
Von Bernd Bleßmann vor 9 Monaten hinzugefügt

CSV-Import: CustomerVender benutzerdefinierte Variable aktualisieren

handle_cvars erst aufrufen, wenn das zu speichernde Objekt bekannt ist. Das
betrifft den Fall, wenn vorhandenen Objekte aktualisiert werden sollen.

behebt #237 (redmine)

Revision 2f2beb02
Von Bernd Bleßmann vor 5 Monaten hinzugefügt

CSV-Import: CustomerVender benutzerdefinierte Variable aktualisieren

handle_cvars erst aufrufen, wenn das zu speichernde Objekt bekannt ist. Das
betrifft den Fall, wenn vorhandenen Objekte aktualisiert werden sollen.

behebt #237 (redmine)

Revision 65de12e3
Von Bernd Bleßmann vor 5 Monaten hinzugefügt

CSV-Import: CustomerVender benutzerdefinierte Variable aktualisieren

handle_cvars erst aufrufen, wenn das zu speichernde Objekt bekannt ist. Das
betrifft den Fall, wenn vorhandenen Objekte aktualisiert werden sollen.

behebt #237 (redmine)

Historie

#1 Von Andreas Rudin vor 10 Monaten aktualisiert

Habe gerade noch einen Kommentar in der devel-mailingliste dazu geschrieben mit Hinweisen aus einer Besprechung im IRC, wo der Fehler liegen könnte (SL/Controller/CsvImport/Base.pm Zeilen 314ff).

Ausserdem gibt es dazu dreifachen Code in der Base.pm, der BaseMulti.pm und der Part.pm, der möglichst zusammengefasst werden sollte.

#2 Von Martin Helmling vor 10 Monaten aktualisiert

  • Status wurde von Neu zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Martin Helmling gesetzt

Bin gerade am Fehler reproduzieren und auf der Suche

#3 Von Martin Helmling vor 10 Monaten aktualisiert

  • Abgabedatum wurde auf 07.04.2017 gesetzt
  • Status wurde von In Bearbeitung zu Gelöst geändert
  • % erledigt wurde von 0 zu 100 geändert
  • Geschätzter Aufwand wurde auf 2.00 gesetzt

Lösung:
Die Methode handle_cvars() wird nochmals aufgerufen, nachdem "object_to_save" gesetzt wurde
und anschließen die cvars aus dem "object" in "object_to_save" übernommen.

Hinweis:
Eine sauberere Lösung wäre die Methode handle_cvars nur einmal aufzurufen.
Da wäre aber ein Redesign über alle Methoden notwendig

fix in commit #a8628c6af

#4 Von Andreas Rudin vor 9 Monaten aktualisiert

Test am 13.4.2017 mit dem Branch bug_cvar_import

Kundenimport:

Das Update der Stammdaten klappt, benutzerdefinierte Variablen werden aber nach wie vor nicht aktualisiert, obwohl diese sowohl in der Vorschau wie beim Import-Ergebnis korrekt aufgeführt werden.
Bei neuen KundInnen wird alles korrekt importiert: sowohl Stammdaten wie benutzerdefinierte Variablen.
Es gibt aber plötzlich ein ganz merkwürdiges neues Verhalten:
Die Kundennummer bestehender Kunden wird bei der Vorschau korrekt angezeigt. Beim Import-Ergebnis werden aber plötzlich neue Kundennummern vergeben und auch in den Nummernkreisen entsprechend hochgezählt. Effektiv werden aber keine neue Kunden mit diesen Nummern angelegt, sondern das Update der Stammdaten findet korrekt bei den bisher bereits vorhandenen Kunden statt.
(siehe angehängte Screenshots!)

Warenimport:

Hier klappt sowohl das Importieren von neuen Artikeln inkl. benutzerdefinierte Variablen, wie auch das Aktualisieren bestehender Artikel inkl. benutzerdefinierte Variablen

#5 Von Bernd Bleßmann vor 9 Monaten aktualisiert

  • Zugewiesen an Bernd Bleßmann wurde gelöscht

#6 Von Bernd Bleßmann vor 8 Monaten aktualisiert

Andreas Rudin schrieb:

Test am 13.4.2017 mit dem Branch bug_cvar_import

Kundenimport:

[...]

Es gibt aber plötzlich ein ganz merkwürdiges neues Verhalten:
Die Kundennummer bestehender Kunden wird bei der Vorschau korrekt angezeigt. Beim Import-Ergebnis werden aber plötzlich neue Kundennummern vergeben und auch in den Nummernkreisen entsprechend hochgezählt. Effektiv werden aber keine neue Kunden mit diesen Nummern angelegt, sondern das Update der Stammdaten findet korrekt bei den bisher bereits vorhandenen Kunden statt.
(siehe angehängte Screenshots!)

Das ist ein anderes Problem. Das passiert auch ohne meine Änderungen aus dem Branch bug_cvar_import und m.E. (kurzer Test) schon in der 3.4.1. Hierzu bitte nochmal ältere Versionen testen, evtl. bisecten und ein extra Ticket aufmachen.

Viele Grüße
Bernd

#7 Von Bernd Bleßmann vor 8 Monaten aktualisiert

  • % erledigt wurde von 50 zu 30 geändert
  • Geschätzter Aufwand wurde von 2.00 zu 16.00 geändert

Andreas Rudin schrieb:

Test am 13.4.2017 mit dem Branch bug_cvar_import

Kundenimport:

Das Update der Stammdaten klappt, benutzerdefinierte Variablen werden aber nach wie vor nicht aktualisiert, obwohl diese sowohl in der Vorschau wie beim Import-Ergebnis korrekt aufgeführt werden.
Bei neuen KundInnen wird alles korrekt importiert: sowohl Stammdaten wie benutzerdefinierte Variablen.

Das kann ich nicht nachstellen - in meinen Test klappt das aktualisieren der CVars mit neuen Werten. Kannst Du bitte mal einen Test machen und folgendes bereitstellen:
- die Kundenliste (relavante Kunden) mit CVars vorher
- CSV-Datei
- CSV-Import-Einstellungen
- CSV-Import-Vorschau
- CSV-Import-Ergebnis
- die Kundenliste (relavante Kunden) mit CVars nachher

Viele Grüße
Bernd

#8 Von Andreas Rudin vor 6 Monaten aktualisiert

  • Zielversion wurde auf 3.5.1 gesetzt

Mit der aktuellen Version des Branch bug_cvar_import ist das Problem behoben.

Ich habe das mit verschiedenen Einstellungen getestet und jetzt werden beim csv-Import von benutzerdefinierten Variablen bereits vorhandene Einträge korrekt aktualisiert, sofern das beim Import so eingestellt ist.

Es gibt noch ein Problem mit den Kundenummern, das aber laut Bernd nicht direkt mit diesem Bug verknüpft ist. Ich habe dafür deshalb das separate Ticket #287 eröffnet.

Von mir aus kann der Branch bug_cvar_import nun in den master gemergt werden und damit dieses Ticket geschlossen werden.

#9 Von Bernd Bleßmann vor 5 Monaten aktualisiert

  • Status wurde von Feedback zu Gelöst geändert
  • % erledigt wurde von 30 zu 100 geändert

Status geändert durch Changeset kivitendo-erp|commit:2f2beb02d9716054b13a389200ae81490b57d7ab.

#10 Von Bernd Bleßmann vor 5 Monaten aktualisiert

  • Abgabedatum wurde von 07.04.2017 zu 07.10.2017 geändert
  • Status wurde von Gelöst zu In Bearbeitung geändert
  • % erledigt wurde von 100 zu 40 geändert
  • Geschätzter Aufwand wurde von 16.00 zu 111.00 geändert

Ist noch nicht gelöst - dadurch, dass ich den Test-Branch neu gepusht habe (mit einer commit-message, die einen Fix und den entsprechenden Text enthält), dachte redmine das aber ...

#11 Von Bernd Bleßmann vor 5 Monaten aktualisiert

  • Status wurde von In Bearbeitung zu Gelöst geändert
  • % erledigt wurde von 40 zu 100 geändert

Status geändert durch Changeset kivitendo-erp|commit:65de12e39755641003ecb9aec6858b6db7f3c662.

#12 Von Bernd Bleßmann vor 5 Monaten aktualisiert

  • Status wurde von Gelöst zu In Bearbeitung geändert
  • % erledigt wurde von 100 zu 80 geändert

Grr - nicht gelöst. Nur zum Testen wieder in den Test-Branch "bug_cvar_import" gepushed.
(Mach' ich da was falsch?)

#13 Von Moritz Bunkus vor 5 Monaten aktualisiert

(Mach' ich da was falsch?)

Jein.

Der »ja«-Teil: Du nutzt das offizielle Repo für Feature-Branches. Machen wir momentan alle. Aber darauf ist github nicht ausgelegt, sondern auf das Modell, dass jeder Entwickler schlicht das offizielle Repo in github forkt, dann Feature-Branches in seinen eigenen Fork pusht und dann Pull-Requests ans offizielle Repo stellt. Somit würden die Commits und damit die Commit-Meldungen erst dann im offiziellen Repo auftauchen, wenn der PR gemerget wird.

Der »nein«-Teil: man müsste doch Redmine bestimmt konfigurieren können, dass es ausschließlich auf Commits im »master«-Branch reagiert. Das hab ich bei meinen eigenen Projekten immer so gemacht, auch das ehemalige kivitendo-Trac reagierte nur auf »master«-Commits.

#14 Von Jan Büren vor etwa 1 Monat aktualisiert

  • Zielversion 3.5.1 wurde gelöscht

Auch abrufbar als: Atom PDF