Kaufbarer Artikel trotz Stock 0 und nicht kaufbar, wenn ausverkauft

Wir haben immer wieder mal das Ereignis, dass ein Artikel, mit leerem Stock und eingestellt, wenn Lagerbestand leer, dann nicht kaufbar, eben doch gekauft werden konnte. Hat jemand sowas schon mal gehabt? Wir können es bislang nicht reproduzieren

Wie ist den den Grundkonfiguration für Lager eingestellt?

Damit die Einstellung unter dem Artikel Tab Lager greift muss meines Wissens auch die Lagerverwaltung aktiv sein.

Weitere Infos: Lagerverwaltung — OXID eShop 6.2 | Anwenderdokumentation

Hmm… dies ist korrekt eingestellt aus meiner Sicht.

Wie weit liegen den die zwei letzten Bestellungen eines Beispielfalls auseinander?

Wurde der Artikel kurz vorher “leer” gekauft? oder liegt ein längerer Zeitraum dazwischen?

Im Prinzip würde ich bei einer Analyse wie folgt vorgehen. Würde mir das Bestelldatum bzw. Zeitpunkt einer Bestellung angucken, die nicht hätte sein dürfen.

Damit würde ich die Access Logs nach der cl=thankyou oder den sprechenden Namen welche die Dankeseite bekommen hat für den Zeitpunkt raussuchen. Damit hätte ich die IP-Adresse.

Mit der IP-Adresse könnte ich die Access Logs weiter filtern und mir vom Erst-Aufruf bis Dankeseite alle Seitenrequests angucken um ggfs. Rückschlüsse ziehen zu können um Fehler reproduzieren zu können.

Nein, der war bereits seit 1 Woche auf Lager 0, wir haben die Lagerbestände nochmal gesondert geloggt, weil dieser Vorfall nicht das erste Vorkommen war und können daher definitiv sagen, dass der Artikel seit dem 7.4. einen Lagerbestand von 0 hatte, da war übrigens auch der letzte Kauf.

Die Logdateien wurden zwecks Fehleranalyse ebenfalls verfolgt.

der User macht → Produktseite → Warenkorb → Usererstellen → Payment → Thankyou also es sieht so aus als zeigt oxid den Warenkorbbutton obwohl nicht kaufbar

Okay und wie sieht es in Euren Theme aus?
Dort auch Logik richtig übertragen? Von einem Standard Theme wie z.B. Wave in der productmain.tpl mit

[{if !$oDetailsProduct->isNotBuyable()}]

und

in der DB-Tabelle oxorderarticles wird in der Spalte oxstock eingetragen welcher Lagerbestand zum Zeitpunkt der Bestellung vorlag - also nach der Bestellung niedriger
Wenn also zweimal Bestellungen eines Artikels mit oxstock = 1 oder eine Bestellung mit oxstock = 0 gespeichert sind ist das ein bug …

Hat der Artikel evtl. Varianten? Die haben eigene Lagerbestände.

ich bin mir nicht sicher ob das abgefangen wird:

  • der Lagerbestand eines Artikels ist 1
  • User A legt den Artikel in den Warenkorb
  • User B legt den gleichen Artikel auch in den Warenkorb
  • User A kauft
  • User B kauft ??? - hier muss auf der Warenkorbseite geprüft werden ob der Artikel noch kaufbar ist …

Danke, diesen Vorfall konnten wir bei unseren Tests, es nachzuproduzieren ausschließen. Wenn User B kauft, kann er dann nicht mehr kaufen und springt zurück zu einem Warenkorb mit leerem Inhalt und Fehlermeldung

Es ist eine Variante und wurde dabei berücksichtigt

Wenn

  1. Shopkonfiguration
  2. Artikelkonfiguration
  3. Theme Integration

korrekt sind, dann bleibt noch die Methode isNotBuyable() zu prüfen ob diese durch ein Modul überladen wird.

Japp, werden wir morgen weiter probieren, danke :slight_smile:

1 Like

Wie Markus Schall und @Thomas_Dartsch1 im Slack schon sagten: Ich vermute auch, dass etwas anderes reingrätscht. Grad, wenn das schwer reproduzierbar ist…

Welche Shopversion? Da gab’s mal nen Bug.
Was ist in der Variante und im Vater im Feld oxarticles__oxstockflag eingetragen?

1 Like