PlentySearchOrders - Lager ID Filter greift nicht bei Lieferaufträgen

Hallo Supportteam,

Im Step „PlentySearchOrders“ haben wir mehrere Filter für die Aufträge gesetzt. Ein Filter davon ist unter „ERWEITERTE EINSTELLUNGEN“ die Lager ID. Diesen haben wir auf die ID 9 gesetzt.

Dieser Filter scheint nicht zu greifen, wenn es sich um einen Auftrag mit Lieferaufträgen handelt. Der Hauptauftrag bekommt in Plenty unter „Lager“ folgende Bezeichnung „Das Lager ist abhängig von den Lieferaufträgen“. Somit bekommt dieser Auftrag über Synesty die OrderHeadWarehouseID: -1 übermittelt.

Dieser Auftrag landet aber im Mapper des nächsten Steps trotz Lager ID -1. Warum? Der Hauptauftrag muss gefiltert werden wenn Lieferaufträge bestehen.

Danke im Vorraus
Thomas

Hallo @spreisl-thomas1,

wir können auch nur das verarbeiten, was aus Plenty rauskommt und da wird leider das Lager des Hauptauftrags am Lieferauftrag nicht ausgegeben.

Eine Möglichkeit wäre, wenn es sich um Lieferaufträge handelt, dass du dir das Lager des Hauptauftrags per Querverweis holst und dann anschließend filterst. Das setzt natürlich voraus, dass du dir Hauptaufträge in einem Datastore stehen hast.

Viele Grüße
Lukas

Hi @synesty-Lukas

Wir ziehen uns mit dem PlentySearchOrders beide Aufträge - Auftrag - Lieferauftrag

Diese sollen nur in Step 2 (Mapper) kommen, wenn sie den Auftragsstatus 5.1 haben und Lager ID 9 vorweisen

Plenty gibt hier bei dem Auftrag aber eine OrderHeadWarehouseID aus: -1

Vielleicht kommt der Filter Lager-ID im Step PlentySearchOrders nicht mit dem Minus klar und kann deshalb den Auftrag nicht filtern

Hallo Thomas,

die Aufträge werden nicht von uns gefiltert. Wir übergeben die angegebenen Werte als Parameter an die Plentymarkets API. Die Filterung der Aufträge wird also von Plentymarkets übernommen. Das Ergebnis-Spreadsheet enthält alle Aufträge die wir von der API als Antwort enthalten.

Im Fall der Lager-ID handelt es sich um einen Filter der Bestellpositionen (nicht Auftrag).

image

Wenn das Feld im Step gesetzt ist, wird der „orderItemWarehouseId“ Parameter der plentymarkets API GET /rest/orders/search Route übergeben.

Meine Vermutung ist, dass bei mindestens einer der Bestellposition des Lieferauftrags die Lager ID 9 gesetzt ist und der Auftrag deshalb im Ergebnis enthalten ist. Kannst du mal bitte prüfen, was in der der Spalte OrderItemsWarehouseID der Bestellpositionen des Lieferauftrags gesetzt ist ?

image

Viele Grüße
Torsten

Hi @synesty-Torsten

Sprechen wir hier von dem gleichen Step „PlentySearchÓrders“? In meinem Screenshot steht nichts von Bestellpositionen im PopUp

Ich habe in den Aufträgen nachgeschaut. Wenn ,wie du sagst, das Lager der Bestellpositionen abgefragt werden haben wir im Hauptauftrag die ID 9 unter den Bestellpositionen stehen und somit deckelt sich deine Aussage.

Wäre es aber nicht sinniger das Lager des Auftrages abzufragen - OrderHeadWarehouseID? So verstehe ich nämlich diesen Filter.

Hier ein Screenshot der Problembestellung.

Nur der mittlere Auftrag mit dem Lager 9 soll übergeben werden.

Vielleicht könnt ihr diesen Filter ja zusätzlich in den Step einbauen. Ich will ja nach den Lagern der Aufträge filtern und nicht nach den Lagern der Bestellpositionen.

Ich sehe gerade in den Einstellungen des Steps folgende Option:

Was ist wenn ich diese deaktiviere? Zieht er sich dann eventuell die OrderHeadWarehouseID und nicht mehr die OrderItemWarehouseID?

Hallo Thomas,

Nein :smiley: Die Screenshots mit der Step Version hab ich wohl übersehen. Ich habe die aktuelle (REST 2.0) der PlentySearchOrders gemeint.

Die ältere Version des Steps verwendet GET
​/rest​/orders
und sollte laut Plenty Dokumentation tatsächlich nur das Lager des Auftrags filtern.

Diese API Route ist inzwischen als „veraltet“ markiert und es wird auf die neue API Route verwiesen (die von PlentySearchOrders REST v2.0 verwendet).

Die Entscheidung darüber liegt nicht bei uns. Vermutlich ist bei mehreren Bestellpositionen mit unterschiedlichen Lagern schicht nicht möglich ein eindeutiges Lager am Auftrag zu bestimmen/setzen.

Wie bereits geschrieben, verwenden wir in den Steps nur Filter, die von Schnittstellen (in dem Fall plentymarkets) bereit gestellt werden. Wenn eine Schnittstelle bestimmte Filtermöglichkeiten nicht anbietet, dann kann das Ergebnis im Anschluss per Filter Step gefiltert werden (wie oben von Lukas beschrieben).

Nein, im Ergebnis sollten die gleichen Aufträge / Kopfdaten kommen, da die Filterung von plentymarkets vorgenommen wird.
Wenn diese Option deaktiviert ist, werden im Ergebnis die Zeilen der Bestellpositionen nicht ausgeben.

Viele Grüße
Torsten

Hi @synesty-Torsten

Danke für deine Hilfe! Kurze Frage:

Habt ihr irgendetwas nach meinem Ticket umgestellt?

Ich wollte das nochmal reproduzieren und auf einmal funktioniert der Flow ohne das mir der Hauptauftrag mit dem Lager -1 übermittelt wird?!

Ich hätte mir sonst mit einem extra Filter geholfen, der die OrderHeadWarehouseID -1 aus dem Mapper filtert!

Hallo Thomas,

nein, wir haben nichts am Step geändert.

Viele Grüße
Torsten