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
Und so komm ich nicht zum Ziel.
Gibts auch noch diese beiden alten Threads, auch beide von mir, die diese Thematik streifen:
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.
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.
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:
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.