Lagerbestand synchronisieren unter Varianten

Hallöchen,

 

in meinem Shop gestaltet sich gerade folgendes Thema als ziemliche Herausforderung:

Ich habe mehrere Artikel, welche über einen Konfigurator mit Namen personalisiert werden können. Diese haben zusätzlich jeweils mehrere Farbvarianten, sind also als Variante Rot, Variante Blau, etc angelegt. Nun ist es ja so, dass mein Produkt im Lager z.B. Rot 5 mal, Blau 10 mal vorrätig ist, welche dann personalisiert und verschickt werden. Ich möchte nun, dass, egal welche “Personalisierung” gekauft wird, die Bestände in der jeweilige Variante (Produkt Rot Variante A, Produkt Rot Variante B, etc.) synchron gehalten und aktualisiert wird.

 

Beispiel:
Tasse mit Aufschrit X gibt es in den Varianten Rot und Blau
Tasse mit Aufschrift Y gibt es ebenfalls in den Varianten Rot und Blau

Zusätzlich können diese nun in der Detailansicht mit einem Namen personalisiert werden.

Wird nun Tasse X in Blau gekauft, sollte der Bestand von Tasse Y in Blau ebenfalls heruntergezählt werden.

 

Wie bekomme ich das hin?

 

Danke und viele Grüße!

Hallo,  

wenn ich Dich richtig verstehe, ist Dein Produkt die Individualisierung und die Tasse sind jeweils eigeständige Produkte, deren Bestände dann so angepasst werden müssen, dass hinterher in beiden Varianten ein Stück weniger vorhanden ist. Also Produkt „rot“ wird bei Variante A und Variante B gleichermaßen verwendet.

Das lässt sich mit den Shopware Variantenartikeln nicht umsetzen, denn Variante A und Variante B sind von einander unabhängig. Eventuell findest Du im Shopware Store ein Plugin mit dem das möglich ist. Als Stichworte fallen mir Stückliste oder Custom Products ein. Du solltest dann aber von der Möglichkeit Gebrauch machen, die Plugins vorher zu testen.

Viele Grüße

McFish

wenn ich Dich richtig verstehe, ist Dein Produkt die Individualisierung und die Tasse sind jeweils eigeständige Produkte, deren Bestände dann so angepasst werden müssen, dass hinterher in beiden Varianten ein Stück weniger vorhanden ist. Also Produkt „rot“ wird bei Variante A und Variante B gleichermaßen verwendet.

Ja, fast. 

Vielleicht noch mal ein anderes Beispiel:

Im Lager gibt es rote, blaue und grüne T-Shirts.
Im Shop gibt es die Artikel „T-Shirt Aufdruck A“ und „T-Shirt Aufdruck B“.
Diese Artikel haben die Varianten „rot, blau und grün“.
Jetzt sollte natürlich wenn ich ein rotes T-Shirt mit Aufdruck A kaufe auch automatisch der Bestand beim roten T-Shirt Aufdruck B heruntergezählt werden, da ich dafür die gleiche Resource aus dem Lager nutze, nämlich ein rotes T-Shirt, welches dann mit dem jeweiligen Aufdruck personalisiert wird.

Hatte mir aber schon gedacht, dass es so einfach nicht geht. Habe schon als Workaround ein Stücklisten Plugin im Einsatz, wo ich mir „Fake-Artikel“ erstellt habe (Also unsichtbare, zB Tshirt rot, Tshirt blau) welche dann bei der jeweiligen Variante mit heruntergezählt werden als Stücklisten-Artikel. Das unschöne daran ist, dass diese dann auch mit auf Lieferschein, Rechung, etc erscheinen.

Trotzdem vielen Dank!

Auf die Schnelle klingt das für mich nach einem Datenbanktrigger.

CREATE TRIGGER mein_triggername AFTER update  on tabelle_artikel …

Im Triggerkörper dann einen Befehl wie

update tabelle_artikel set artikel_bestand = artikel_bestand - 1 where (artikel_nummer like artikelvariable … [artikelvariable = ein Teil der Artikelnummer des Artikels der gerade heruntergezählt wurde] and (artikel_bestand > 0) and (artikel_nummer <> aktuelle_artikelnummer);

Alle Artikel deren Artikelnummer ähnlich der des gerade gekauften Artikels sind werden so um 1 heruntergezählt. Achtung tabelle_artikel und Felder artikel_bestand, artikel_nummer, aktuelle_artikelnummer sind Fantasienamen.

Für den Einbau des Triggers in die Datenbank brauchst Du jemanden, der sich mit SQL auskennt. Zeitbedarf dürfte nicht höher als 1 Stunde sein.

MfG. JM

1 Like

Der Inhalt des Triggers darf natürlich nur wirksam werden, wenn eine Veränderung an der Menge (Menge NEU kleiner Menge ALT)  erfolgt ist

1 Like

Bei der nächsten Lieferung vom Lieferanten muss Du natürlich vorher den Trigger deaktivieren, sonst bekommst Du die Bestände nicht angeglichen

1 Like