Ich bin noch relativ neu im Thema und stehe etwas auf dem Schlauch:
Ich lese shopware Bestellungen ein und würde gerne nur neue Bestellungen abholen. Dafür brauche ich die höchste autoincrement Nummer aus dem Datastore. Leider finde ich keinen Weg darauf in getshopwareorders zuzugreifen.
verstehe ich das richtig, dass du in Synesty einen Datastore mit allen Aufträgen anlegst und aus diesem dann etwas abziehen möchtest? Da könntest du über den Step SearchDatastore gehen. Mit dem kannst du dir theoretisch den kompletten Datastore in einen Mapper ziehen und da weiter verarbeiten um eine Variable für den GetShopwareOrders zu generieren, wie genau kann ich dir jetzt nicht sagen weil ich nicht weiß, wie das bei dir aufgebaut ist.
Weiß nicht, ob das in deinem spezifischen Prozess sonst ein Ansatz wäre, aber wenn wir aus irgendwelchen Systemen „neue“ Aufträge abziehen, dann machen wir das über die Auftragsstatus im Vorsystem. Es gibt einen Status für freigegebene Aufträge, der wird von Synesty abgegriffen und am Ende der Verarbeitung wird für die verarbeiteten Aufträge ein neuer Status gesetzt. Geht da bei uns in der Regel um die Versandabwicklung und hat dann auch den Vorteil, dass du im System selber siehst was schon verarbeitet wurde.
Alternativ kann man auch über z.B. das Erstellungsdatum der Aufträge gehen. Hier könntest du in deinem Shopware-Step entsprechend die Variable „LastFlowRun“ verwendest um immer alle Aufträge im Intervall zwischen zwei Läufen zu holen (würde ich aber nicht empfehlen, da könnte es im Sekundenbereich passieren, dass du Auftäge verpasst und es ist schwerer nachzuvollziehen wenn mal ein Lauf fehlschlägt). Meine bevorzugte Variante ist es, am Flowbeginn über TextHTMLWriter
die Datumsvariablen selber zu erzeugen. z.B. für alle Aufträge vom Vortag: ${datecalc("DAY", -1)!?datetime?string('yyyy-MM-dd 00:00')} als Start und ${datecalc("DAY", -1)!?datetime?string('yyyy-MM-dd 23:59')} als Ende.