Update 5.5.10 auf 5.6.1 / Backend Bestellliste Suche funktionert teilweise nicht, bringt 500er

Guten Morgen zusammen,

gestern Update eingespielt, soweit alles in Ordnung, aber die Suche in der Liste der Bestellungen verursacht bei bestimmten Zeichenfolgen eine 500 er Meldung.

Es gibt im Forum eine ähnliche Fragestellung, die hängt jedoch mit fehlenden Zahlungsarten zusammen, nein, bei mir ist das definitv nicht der Fall. (Habe ich überprüft, alle ID vorhanden) Es kommt zumeist bei der Eingabe des vierten Zeichens im Suchfeld… aber eigenartiger Weise nur bei bestimmten Zeichenfolgen…zB. Suche nach Kunde der mit “Breitf…” beginnt…gebe “brei” ein und noch vor oder mit Eingabe von dem “t” kommt 500.

Har wer ähnliche Erscheinungen, dann wäre es wohl ein Ticket wert, was ich anlegen würde… oder wer hat eine Idee, wenn er folgende Fehlermeldungen sieht…

Danke euch und liebe Grüße Klaus

 

@Shopware  >> Bitte um kurze Info “Zusammenhang” von  Backend Bestellübersicht > Sucheingabe mit der im error log aufgezeigten Translation.php ???

Backend:

 

Der GET Pfad hier als Text:

 

                  https://www.meinedomain.at/backend/Order/getList?_dc=1569646688063&page=1&start=0&limit=20&sort=[{"property"%3A"orderTime"%2C"direction"%3A"DESC"}]&filter=[{"property"%3A"free"%2C"value"%3A"breit"%2C"operator"%3Anull%2C"expression"%3Anull}]

 

Exakt gleichzeitg im Apache Error Log

                  [Sat Sep 28 06:58:08.428729 2019] [proxy_fcgi:error] [pid 87166:tid 34398999808] [client 80.110.28.152:50614] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Shopware\Components\Translation\ObjectTranslator::translateObjectProperty() must be of the type array, null given, called in /usr/local/www/apache24/data/schluesselmanagement.at/htdocs/engine/Shopware/Components/Translation.php on line 500 and defined in /usr/local/www/apache24/data/schluesselmanagement.at/htdocs/engine/Shopware/Components/Translation/ObjectTranslator.php:74\nStack trace:\n#0 /usr/local/www/apache24/data/schluesselmanagement.at/htdocs/engine/Shopware/Components/Translation.php(500): Shopware\Components\Translation\ObjectTranslator->translateObjectProperty(NULL, ‘name’)\n#1 [internal function]: Shopware_Components_Translation::{closure}(NULL)\n#2 /usr/local/www/apache24/data/schluesselmanagement.at/htdocs/engine/Shopware/Components/Translation.php(501): array_map(Object(Closure), Array)\n#3 /usr/local/www/apache24/data/schluesselmanagement.at/htdocs/engine/Shopware/Components/Translation.php(444): Shopware_Components_Transl…\n’, referer: https://www.meinedomain.at/backend/

 

Keine sonstigen Einträge im Systemlog von SW.

Glaube du hast Bestellungen, bei denen die zugeordnete Zahlungsart nicht mehr existiert und daher die Translations nicht geladen werden können. Einfach mal schauen ob es jede payment id aus s_order auch in s_core_paymentmeans gibt.

Hallo, habe ich geprüft,

eigentlich würde das ja passen…

Hallo,

 

das war es…besten Dank für den Input

 

Hallo,

 

OK bereinigt… aber die 500 er kommt trotzdem noch und gleiche Meldung im error.log , noch einen Tip woran es liegen kann ??

 

Hallo, Fehler leider noch immer da…

 

@Moritz:  Frage an Moritz… welche Datenbankfelder werden vom SW System durchsucht , wenn ich das Suchfeld in der Bestellübersicht nutze ??  Wir wissen jetzt schon, dass es ganz alte Bestellugen vor 2014 sein müssen (aus SW 3.x)… irgendwie ist SW 5.6. da jetzt sensibler in der Abfragelogik…weil bislang gab es das Problem nicht…bitte um Info, damit wir die Tabellen gezielt durchforsten können.

Die Informationen müsstest du dir aus dem Code raussuchen, die stehen nirgends. Müsste ich genauso machen.

Es wird eine Verlinkung auf eine Tabelle sein, wo es Einträge nicht mehr gibt. Normalerweise müsste man sich da durch die Suchlogik arbeiten und debuggen.

Ich würde aber generell auch nochmal in der s_user prüfen ob es da auch fehlende Zuordnungen der Zahlungsart gibt.

Wobei das sicherlich nichts mit der Suche zu tun hat, sondern mit den Datensätzen die angezeigt werden sollen. Wenn du also die Seite aufrufen würdest, gäbe es bestimmt die Gleichen Fehler.

 

Hallo,

also wir haben kreuz und quer die Datenbank geprüft, es dürften nur 1 - 2 „defekte“ Bestellungen sein, alle Zahlungsarten, alle Versandarten…alles ist konsistent… trotzdem kommt bei der Suche die 500er…wir wissen auch welcher Zeitraum der Bestellungen und sogaer in welchen Nummernbereich…aber rein optisch sieht man keine Fehler. Hat wer noch eine Idee wie man soetwas findet ?

@Shopware Gibt es bei ggf. ein Prüfscript mit dem man solche Fehler aufdeckt… kann eine einzelene Bestellung auch einen defekten Foreign Key haben ? Gibt es da eine aktuellere Version als die 5.5.7 Foreign Key Scripte…bei Update 5.6.0 gab es ja eine Änderung bei den Foreign Keys (siehe snipping unten)…denke diese Änderung wäre noch nicht im 5.5.7 Scripte-Paket enthalten… und vielleicht ist genau der Key unser Problem ?

 

LG Klaus

 

 

Ist zwar alt, aber bei mir tauchte der Fehler in 5.7.X auch in Verbindung mit dem Suchfeld auf.
Bei mir lag es daran, dass neuerdings auch die Seriennummer in der Bestellung, die von Pickware als Notiz erfasst wird gesucht werden kann.

Grund: Im bestimmten Fall wenn man nach dem Scannen vor dem Bestellabschluss die Position wieder gelöscht hat, war die Seriennummer noch in der Datenbank und mit dem Feld suchbar, hat aber keine Zuordnung zu einer Bestellung gebracht: → Fehler 500

Wie ich es gefunden habe:
Suche nach „200“: Fehler
Suche nach „2000“: kein Fehler
Suche nach „2001“: Fehler
Suche nach „2001“:… bis ich eine lange Reihenfolge des Fehlers hatte und das in der Datenbank gesucht habe.

Falls jemand mit der Kombi Shopware/Pickware in Verbindung mit der Pickware Artikeldetails Funktion „Beim Auslagern erforderliche Informationen“ auch passiert, ich habe mit einem SQL Befehl alle Einträge mit gescannten Seriennummer, die keiner Bestellung mehr zugeordnet waren gelöscht.

DELETE FROM pickware_erp_stock_item_property_values WHERE pickware_erp_stock_item_property_values.stockItemId IN (
SELECT pickware_erp_stock_items.id FROM pickware_erp_stock_items
INNER JOIN pickware_erp_stock_ledger_entries ON pickware_erp_stock_ledger_entries.id=pickware_erp_stock_items.stockLedgerEntryId
WHERE pickware_erp_stock_ledger_entries.orderDetailId IS NULL)