Hallo Gemeinde, ich habe gestern ein Update auf die aktuelle Gambio-Version durchgeführt. Beim manuellen Anlegen von Kunden passiert es nun dass dies fehlschlägt und eine Fehlermeldung ausgegeben wird: FATAL ERROR(1): "Uncaught Exception: Country with the following ID could not be found: 0 in /home/meineseite-de/public_html/GXMainComponents/Services/Core/Country/CustomerCountryRepository.inc.php:54 Seltsam ist dass im Feld "Land" beim Eingeben der Kundenadresse "Deutschland" steht. In der Tabelle "countries" findet sich aber kein Deutschland, da findet sich Germany. Es gibt dort auch keine "ID 0"... Dasselbe passiert auch wenn ein neuer Kunde bestellen will / sich registrieren will. Es können daher keine Bestellungen von Neukunden erfolgen, bei Bestandskunden funktioniert das dagegen. Was ist passiert? Herzlichen Dank!
Hast du das Problem lösen können? Wir haben etwas Ähnliches bei einem Kundenkonto aus Frankreich beobachtet, wissen aber nicht woher der Fehler stammt: Code: FATAL ERROR(1): "Uncaught Exception: Country with the following ID could not be found: 74 in /GXMainComponents/Services/Core/Country/CustomerCountryRepository.inc.php:54 Stack trace: #0 /GXMainComponents/Services/Core/Country/CountryService.inc.php(60): CustomerCountryRepository->getById(Object(IdType)) #1 /admin/html/compatibility/customer_details.php(358): CountryService->getCountryById(Object(IdType)) #2 /admin/customers.php(899): include('/home/maijomoy/...') #3 {main} thrown" Der Kunde erhält den Fehler beim Login, auch im Backend erscheint er wenn ich das Konto aufrufe. In der Datenbank -> Tabelle countries hat Frankreich die ID 73, wenn ich diese per Hand auf 74 ändere ist der Fehler verschwunden.
Ich hab jetzt nochmal in der Datenbank rumgeschnüffelt und es waren nicht nur französische Kunden betroffen. Auch einige Kunden aus Serbien und Montenegro hatten eine falsche ID zugewiesen. Ein Kunde aus Vietnam hatte hingegen eine serbische Landes ID, obwohl die Lieferung offensichtlich nach Vietnam ging. Speziell für den oben geschilderten mit Frankreich wäre das der SQL Befehl für den Austausch der IDs Code: UPDATE address_book SET entry_country_id = 73 WHERE entry_country_id = 74 Alle IDs 74 werden mit 73 in Tabelle address_book getauscht. Evtl. kannst du das für deine ID 0 Einträge anwenden. Die ID für Deutschland findest du in der Tabelle countries (bei uns 81). Vorher Sicherung machen!
Fußnote: country_id 74 war mal „France, Metropolitan“ (FX bzw. FXX), diesen Ländercode hat die ISO aber schon 2002 gelöscht. Die Änderung der Einträge auf 73 (France, FR bzw. FRA) ist die korrekte Vorgehensweise, zumal davon auszugehen ist, dass betroffene Kunden sich sowieso verklickt haben.