Plenty: simpel Bestand einer Variante ändern?

Ich mal wieder :v:

Mein Anliegen ist egtl simpel:
Ich will den Bestand einiger Varianten ändern. Vom aktuellen Bestand eins abziehen (quasi als Korrektur), und direkt danach wieder aufbuchen.

Also eigentlich will ich anstoßen dass der Abgleich zu einem Marktplatz (Amazon) angestoßen wird. Aber den Änderungs-Timestamp selbst kann ich nicht schreiben, und eine Preisänderung tuts auch nicht. Ich bin mir relativ sicher dass eine Bestandsänderung der einzig praktikable Weg ist auszulösen was ich brauche…

Und irgendwie dreh ich mich im Kreis:

  • meine VariantenIDs hab ich in einem Spreadsheet
  • der PlentySetCurrentStocks scheint mir der einzige Step zu sein der Bestände ändern kann? Der benötigt dann aber eine storageLocationID und eine reasonId
  • aber die Storage-Location bekomme ich nur aus einem PlentyGetCurrentStocks. Der nimmt aber keine Liste von Varianten-IDs im Abruf. Nur entweder alle, oder eine konkrete.
    • Siehe auch hier. Dort wurde der PlentyGetCurrentStocksByIDs von euch implementiert, der hat den passenden Abruf, aber im Ergebnis dann keine StorageLocation. War damals auch nicht der Fokus der Anfrage. Aber jetzt halt nütztlich :see_no_evil_monkey:

Und so komm ich nicht zum Ziel.


Gibts auch noch diese beiden alten Threads, auch beide von mir, die diese Thematik streifen:

Aber das waren SOAP-Zeiten, seit dem hat sich viel geändert…


Überseh ich irgendwas offensichtliches?

Die Anforderung „führe eine Bestandskorrektur durch“ klingt ja egtl sehr simpel…

Hallo @samenhaus-admin,

bei dem Step kannst du bei der storageLocationID eine 0 für die default Location angeben. Ist das eine Option für dich? Die reasonId ist nicht Pflicht.

Viele Grüße
Lukas

Hi Lukas,

ich glaube nicht, ich brauche ja dann trotzdem den Bestand der auf storageLocation 0 liegt, um dann den zu ändern. Sonst überschreibe ich mir ja meine Bestände dort, falls dort welche liegen.

Und an den komme ich aber wieder nicht ran, aus den Gründen wie oben.


Aber: ich wurde drauf hingewiesen dass Wareneingänge wohl auch Negativwerte nehmen. Also eine relative Angabe „-1“, und danach eine „+1“.

Das probiere ich jetzt mal aus, wenn das tut, wär das eine Lösung.

Nein, leider nicht

Der Import machts wohl scheinbar. Die API nicht :confused:


edit: Nevermind, falsch gedacht.

Gibt ja nen anderen Step für Warenausgang :person_facepalming:

Aber ich hab weiter ein Problem mit dem Lagerort. Ich gebe beiden eine storageLocation von 0 mit. Der Outgoing nimmt die auch. Der Incoming ignoriert sie aber, und nimmt unseren Wareneingangs-Lagerort:

Step ist so konfiguriert:


Irgendwas muss ich doch übersehen. Ich will einfach nur zwei Warenbewegungen auslösen, die sich gegenseitig aufheben.

Hi Daniel,

Du kannst es mal mit dem PlentySetTransferStocks probieren. Damit konnte ich (in unserem Testsystem) den Bestand von storageLocationID = 0 auf storageLocationID 0 (gleiche Lager ID) „umbuchen“ und der Änderungs-Timestamp der Bestände wurde auch aktualisiert.

Der PlentyGetCurrentStocksByIDs Step hat jetzt noch eine Auswahl Modus bekommen. Damit kannst den „Bestand der Lagerorte“ abrufen.

VG Torsten

1 „Gefällt mir“

Hi Torsten,

Hm. Klang gut, klappt aber halt auch nur, wenn auf dem Lagerort 0 auch irgendwas liegt :see_no_evil_monkey:

Hatte eine quantity von 1 angegeben. Aber die gibts halt an dem LO gar nicht :grimacing:

Sehr nice! Damit klappts jetzt auch, endlich :flexed_biceps:

falls es jemand braucht:

  • Spreadsheet mit Aufträgen geht in den PlentyGetCurrentStocksByIDs, der ist im neuen Lagerort-Modus
  • Dann ermittle ich nur die Lagerorte, die auch einen (positiven) Bestand haben
  • dann gruppiere ich nach VariantenID, mit Aggregatfunktion „erster Wert“, also ich bekomme jeweils den ersten Lagerort mit Bestand
  • dort buche ich eine Einheit aus, und direkt auch wieder drauf

Passt:

Das war jetzt mühsam, aber so sollte es stabil laufen.

Vielen Dank für die zeitnahe Umsetzung des benötigten Features :heart:

2 „Gefällt mir“