Projekt

Allgemein

Profil

Fehler #237

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

Von Andreas Rudin vor mehr als 7 Jahren hinzugefügt. Vor mehr als 3 Jahren aktualisiert.

Status:
Gelöst
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
-
Beginn:
03.08.2017
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:
(Gesamtzahl: 0.00 h)

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)


Dateien


Unteraufgaben

Fehler #287: Fehlerhafte Anzeige und Vergabe von Kundennummern beim CSV-Import von KundendatenGelöst

Aktionen

Zugehörige Revisionen

Revision 1455aee9 (diff)
Von Bernd Bleßmann vor etwa 7 Jahren hinzugefügt

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)

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

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)

Historie

#1

Von Andreas Rudin vor mehr als 7 Jahren 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 mehr als 7 Jahren 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 mehr als 7 Jahren 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 h 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 mehr als 7 Jahren 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 mehr als 7 Jahren aktualisiert

  • Zugewiesen an Bernd Bleßmann wurde gelöscht
#6

Von Bernd Bleßmann vor mehr als 7 Jahren 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 mehr als 7 Jahren aktualisiert

  • % erledigt wurde von 50 zu 30 geändert
  • Geschätzter Aufwand wurde von 2.00 h zu 16.00 h 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 mehr als 7 Jahren 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 mehr als 7 Jahren 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 mehr als 7 Jahren 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 h zu 111.00 h 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 mehr als 7 Jahren 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 mehr als 7 Jahren 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 mehr als 7 Jahren 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 7 Jahren aktualisiert

  • Zielversion 3.5.1 wurde gelöscht
#15

Von Werner Hahn vor fast 6 Jahren aktualisiert

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

#16

Von Cem Aydin vor fast 4 Jahren aktualisiert

Branch auf master ge-rebased, läuft durch.

Doppelte Einträge in der custom_vars tabelle wurden durch dbupgrade behoben.

Import scheint soweit ich sehe zu funktionieren, cvars und Einträge werden aktualisiert, für Waren und Kunden getestet.

#17

Von Bernd Bleßmann vor mehr als 3 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Gelöst geändert

Status geändert durch Changeset kivitendo|1427d96a209258589277eb22433e9b5c37289fcf.

Auch abrufbar als: Atom PDF