Hallo, seit gestern komme ich nicht mehr auf die Bestellseite im Adminbereich! Folgende Meldung erscheint: IdType: Invalid argument value given (expected positive integer got integer): -999 Alle Cache geleert, auch Browser, komm aber nicht weiter. Habe auch schon ein Ticket aufgemacht, jedoch noch keine Hilfe vom Support erhalten! Hatte jemand schon mal das selbe Problem, das plötzlich auftrat und evtl. einen Tipp???? Hat sich erledigt; Support war schneller! ;-)
Zunächst einmal für die Leute, die nicht genau wissen, was die Meldung zu bedeuten hat bzw. zum Thema INT: INTEGER (INT) ist numerisch. Numerische Typen haben ein Geltungsbereich. Jeder Typ hat seinen eigenen Minimum- und Maximumbereich. Mache Scripte bzw. Stellen arbeiten mit/in einem positiven Bereich. Das laienhaft zum Hintergrund. Jetzt zum Fehler: -999 ist aus der Datenbank gegeben, liegt zwar im Geltungsbereich, ist aber nicht valide. Bedeutet: Ein Script möchte mit einem positiven Wert arbeiten und bekommt einen negativen Wert. Script kommt ins Schleudern und bricht ins Essen. Daher die Meldung. Wie kann soetwas passieren? Rein theoretisch darf so eine Meldung im Produktivsystem nicht vorkommen, wenn alles so entwickelt worden ist, wie erwartet. Kann man sagen, das liegt immer an den Bestellungen? Jein! Ein Beispiel aus der Praxis: Angenommen ein Modul sorgt dafür, dass nach nach erfolgter Zahlung, die Bestellung im Backend/in der Datenbank angelegt wird. Nehmen wir weiter an, dass dieses Modul nicht sauber arbeitet und das ist jetzt ganz wichtig und entscheidend, das Modul dafür sorgt, dass bei einem Feld in der Datenbank aufeinmal ein Wert außerhalb des Geltungsbereiches existiert. An dieser Stelle möchte ich nicht zu technisch werden, wie man das Ganze einkesseln und den Fehler abstellen kann. Zu beachten ist, dass das ein mögliches Szenario darstellen kann und man hier, so unbefriedigend auch die Situation und es kein allgemeiner Fehler (Bug) ist, ein Ticket aufmachen sollte, um zu schauen, was das eigentliche Problem ist. Für die, die es selber lösen bzw eine Dursicht machen möchten, kann ich nur sagen: Überlegt, was ist seit der Meldung anders? Stehen brauchbare Informationen im Errorlog? Schaut Euch die Datenbank an den betroffenen Stellen an! Mit was wurde zum Beispiel bezahlt? Tritt der Fehler auf, wenn Bestellungen automatisiert eingelesen werden? Damit meine ich auch durch Drittanbieter! und so weiter und so fort... Viele Grüße
@Geri @Gambio. Wie habt ihr das Problem gelöst? Es wurde zuletzt nicht per Sofortüberweisung bezahlt. In der orders_history Tabelle finde ich den Wert -999 nicht. In welcher Tabelle könnte ich noch suchen?
Wenn überhaupt, dann orders_status_history. Aber, wer sprach von der Tabelle? Meine Empfehlung, wie bereits oben geschrieben, ist ein Ticket. Viele Grüße
War ein Schreibfehler. Hat sich auch erledigt. Das SQL Statement.. Code: select * from orders WHERE orders_status = -999 .. zeigt den Übeltäter.
Man muss aber ganz klar festhalten, dass das Problem a) nicht immer die orders_status ist und b) man diesen SQL-Befehl nicht für andere Tabellen pauschalisieren darf, da die Fehler/Szenarien immer anders gelagert sind. Ansonsten freut es mich, dass Du den Fehler gefunden hast. Viele Grüße
Scheinbar ist ein Fehler beim manuellen Ändern des Bestellstatus aufgetreten was dazu geführt hat, dass der Wert -999 in die orders Tabelle geschrieben wird. Da @Geri das gleiche Problem hatte vermute ich einen (seltenen) Fehler im Gambio Shopsystem