Project

General

Profile

Fehler #237

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

Added by Andreas Rudin almost 4 years ago. Updated about 2 years ago.

Status:
In Bearbeitung
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
08/03/2017
Due date:
% Done:

90%

Estimated time:
(Total: 0.00 h)

Description

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)


Subtasks

Fehler #287: Fehlerhafte Anzeige und Vergabe von Kundennummern beim CSV-Import von KundendatenIn Bearbeitung

Associated revisions

Revision 1455aee9 (diff)
Added by Bernd Bleßmann about 3 years ago

CSV-Import: CustomerVender benutzerdefinierte Variable aktualisieren

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

behebt #237 (redmine)

History

#1 Updated by Andreas Rudin almost 4 years ago

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 Updated by Martin Helmling almost 4 years ago

  • Status changed from Neu to In Bearbeitung
  • Assignee set to Martin Helmling

Bin gerade am Fehler reproduzieren und auf der Suche

#3 Updated by Martin Helmling almost 4 years ago

  • Due date set to 04/07/2017
  • Status changed from In Bearbeitung to Gelöst
  • % Done changed from 0 to 100
  • Estimated time set to 2.00 h

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 Updated by Andreas Rudin almost 4 years ago

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 Updated by Bernd Bleßmann over 3 years ago

  • Assignee deleted (Bernd Bleßmann)

#6 Updated by Bernd Bleßmann over 3 years ago

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 Updated by Bernd Bleßmann over 3 years ago

  • % Done changed from 50 to 30
  • Estimated time changed from 2.00 h to 16.00 h

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 Updated by Andreas Rudin over 3 years ago

  • Target version set to 3.5.1

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 Updated by Bernd Bleßmann over 3 years ago

  • Status changed from Feedback to Gelöst
  • % Done changed from 30 to 100

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

#10 Updated by Bernd Bleßmann over 3 years ago

  • Due date changed from 04/07/2017 to 10/07/2017
  • Status changed from Gelöst to In Bearbeitung
  • % Done changed from 100 to 40
  • Estimated time changed from 16.00 h to 111.00 h

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 Updated by Bernd Bleßmann over 3 years ago

  • Status changed from In Bearbeitung to Gelöst
  • % Done changed from 40 to 100

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

#12 Updated by Bernd Bleßmann over 3 years ago

  • Status changed from Gelöst to In Bearbeitung
  • % Done changed from 100 to 80

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

#13 Updated by Moritz Bunkus over 3 years ago

(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 Updated by Jan Büren about 3 years ago

  • Target version deleted (3.5.1)

#15 Updated by Werner Hahn about 2 years ago

Hat sich hier was getan. Ist noch nicht im master. BDVs sind mir mal wieder um die Ohren geflogen.
Kann das in den master?

Also available in: Atom PDF