Erstellt vor 6 Jahren
Zuletzt geändert vor 5 Jahren
#1036 closed Fehler (works-for-me)
CSV-Kundenimport schlaegt fehl
| Erstellt von: | roman.karuschka@… | Verantwortlicher: | hli@… |
|---|---|---|---|
| Priorität: | normal | Meilenstein: | 2.6.1 |
| Komponente: | kivitendo ERP | Version: | 2.6.2 unstable |
| Schweregrad: | normal | Stichworte: | Stammdaten |
| Beobachter: | hli@…, s.schoeling@…, information@…, roman.karuschka@… |
Beschreibung
Trotz mehrfacher Modifikationen und Eliminierung fast aller Spalten tauchen immer noch bei fast allen Datensaetzen Fehlermeldungen in folgender Form auf:
Fehler: insert into customer (street,zipcode,city,country,contact,phone,fax,email,customernumber,taxzone_id,import) values ('Seitenstr.1','12345','Badenbaden','Deutschland','Finanzplanung und Versicherungen',null,'1234/1234',null,'12345',0,1244130368)
Fehler: insert into customer (street,zipcode,city,country,contact,phone,fax,email,customernumber,taxzone_id,import) values
...
und so weiter...
Kurioserweise schaffen es beim Import der vollen CSV (ca 1100 Datensaetze) einige davon doch in die DB, aber es sind viele Verschobene dabei (z.B. Tel.-Nr als Name etc)
UTF8, CSV mit Semikolen oder Kommata getrennt. Kundennummern soll das System selbst vergeben, liegen in der CSV nicht vor.
Beim Testimport sieht alles noch gut aus, erst beim tatsaechlichen Import geht es wirklich schief und die Fehlermeldungen fliegen.
Auch eine streng nach Wiki gebaute Test-CSV mit den dort vorgeschlagenen Spalten bringt keine Besserung.
Anhänge (1)
Änderungshistorie (9)
comment:1 Geändert vor 6 Jahren durch hli@…
- Beobachter hli@… hinzugefügt
comment:2 Geändert vor 6 Jahren durch roman.karuschka@…
Hallo,
ich mache morgen mal ein Exemplar fertig. Contact und Firmenname ist
uebrigens tatsaechlich bewusst vertauscht worden bei der LX-Office
einsetzenden Firma, da mit Dem Firmennamen/Namen? eine Anrede
verknuepfbar ist und die Kontakte immer Einzelpersonen gelten, mit den
Firmen wird an sich keine Geschaeftsbeziehung gepflegt (oder um es
deutlicher zu sagen, einige Kunden lassen sich ihre Auftraege mit der
zusaetzlichen Firmenangabe senden um die Rechnungen danach bei der
Steuer absetzen zu koennen, der wirkliche Kontakt gilt aber eben der
Einzelperson, die Firma ist nachrangig, und die Anrede ist wichtig, ein
Anredefeld gibt es aber fuer Contact nicht).
Somit sind die dort vertauschten Angaben kein Fehler ;-)
Aber zurueck zum Thema.
Der Aeusserung zufolge hat das Problem niemand ausser mir dort?
Betreibe zwei Systeme (auf zwei versch. Servern) mit unstable, eines
fuer den Kunden, eines zum Testen bevor ich ein Update beim Kunden
einspiele. Das Problem tritt tatsaechlich auf Beiden auf. In 2.4.3
wurden aehnliche Importdateien problemlos uebernommen (dafuer gab's andere Bugs von denen viele in 2.6 nicht mehr da sind, Ziel ist also moeglichst bald alles auf 2.6 zu stellen)
DB ist UTF8, LX steht auf UTF8, Importfile UTF8, erst dachte ich es laege evtl an den extrem langen notes-Feldern, aber auch nach deren Entfernung blieb das Problem.
comment:3 Geändert vor 5 Jahren durch s.schoeling@…
- Status von new nach assigned, s.schoeling@linet-services.de geändert
- Verantwortlicher von p.reetz@… nach hli@… geändert
wiie ist der Status dieses Bugs?
Holger ist gerade im Urlaub, Roman, hat sich da schon was getan?
comment:4 Geändert vor 5 Jahren durch s.schoeling@…
- Meilenstein auf 2.6.1 gesetzt
comment:5 Geändert vor 5 Jahren durch roman.karuschka@…
- Priorität von Hoch nach Normal, roman.karuschka@ok-it-services.de geändert
- Schweregrad von Wichtig nach Normal geändert
Ich starte da kommende Woche nochmals einen neuen Anlauf drauf, so im Nachhinein, drueber nachgedacht, koennte es evtl ein Feldlaengenproblem sein, weil in den CSVs sehr lange Bemerkungsprotokolle stehen.
Ich gewichte das Ding mal herunter solang.
comment:6 Geändert vor 5 Jahren durch information@…
- Lösung auf worksforme gesetzt
- Status von assigned nach closed, information@richardson-bueren.de geändert
Hallo zusammen,
zumindestens die harte Kodierung der Einzelfelder nach ISO ist jetzt endlich gefixt.
Falls Holger noch möchte, sehe ich noch folgende Erweiterungen:
1.) Unter Hilfe (Beispielimport)
kommen (...);customernumber;vendornumber;(...) als Beispiel raus. Hier wäre es schön noch einen Fallunterschied für das jeweilige angehakte Beispiel zu haben (customer oder vendor), damit dann so copy&paste-Leute wie ich glücklicher sind.
2.) DB-Encoding herausfinden und entsprechend kodieren (Für Mandanten pre2.6).
3.) Ich prüfe die Kodierung derzeit für jeden Dateneintrag, besser wäre es hier einmal nur die Kodierung des Files herauszufinden.
4.) Österreich-Bug, lustigerweise werden Umlaute am Anfang des Datenfeldes abgeschnitten. Das wäre auch noch schön zu ändern.
Ähnliches Problem wie hier:
Für mich ist das prinzipielle Problem (geht gar nicht), aber erstmal behoben und übergeben dann an holger ...
@roman einfach wieder öffnen
comment:7 Geändert vor 5 Jahren durch hli@…
@Jan
$encoding = mb_detect_encoding($data,"UTF-8,ISO-8859-1,ISO-8859-15");
Ist es überhaupt sinnvoll jede Zeile zu konvertieren? Jede Zeile abfragen nur um zu sehen ob da überhaupt etwas übersetzt werden muß. X-Stellen ändern usw.
Warum nicht den Client, in diesem Fall php, auf die Ausgangscodierung umstellen, also "latin-9"? Durch Umstellen von db.php auf mdb2.php ist das sehr einfach möglich:
$db = MDB2::factory($dsn,$option);
$db->setCharset('latin9');
oder per sql "SET CLIENT_ENCODING TO 'UNICODE' "
Dann sollten Server und Client das richtig aushandeln. Text mit dem Shopimport waren bisher erfolgreich.
Ein beherztes "show server_encoding;" zeigt dir die Servecodierung.
comment:8 Geändert vor 5 Jahren durch information@…
Hi Holger,
das automatische Erkennen von ISO oder UTF-8 ist i.O.
UST-ID wird auch korrekt ausgegeben.
Bei Österreich als Land wird aber immer noch das Ö abgeschnitten.
Anbei mein Testimport.csv

Also ich hätte gerne das Importfile gesehen.
"contact" ist dem Beispiel "Finanzplanung und Versicherungen"