Hi Enrico,
ich habe die Antworten direkt unter deine Fragen gepackt.
Ich bin leider noch nicht ganz sicher, ob das so passt. Bezieht sich die Quell-SKU in dem Skript nun auf eine bestimmte oder schaut er nach "gleichen" SKU´s?
Es bezieht sich auf die Quellspalte SKU -> Er schaut nach gleichen SKUs (Ein Counter pro SKU).
Ich weiß noch nicht wie ich das im Mapper und im Filter einbinde.
Im Mapper in das Wert Feld, im Filter könntest du dann alle Positionen mit "verfügbarerMenge" < 0 rausfiltern
Es handelt sich immer um unterschiedliche Bestellungen, also können die Texte wegfallen. Es soll eben nur durch den Filter was auch da ist. Ich denke hier liegt die größte schwierigkeit. Denn man müsste wissen, ob der Filter Sheets auch von oben nach unten abarbeitet oder nicht.
Die Texte sind Freemarker Kommentare die du einfach entfernen kannst. Sheets werden von oben nach unten abgearbeitet.
Ich brauche ja dann einmal einen Code der immer "gleiche" SKU´s hochzählt, so dass alle "gleichen" SKU´s jeweils getrennt mit einem neuen Counter starten.
Wie in der 1. Frage -> Ein Counter pro SKU. counter.get(SKU) gibt dir den Zählerstand für die spezielle SKU und counter.inc(SKU) erhöht den Zählerstand um eins für diese spezielle SKU
Dann müssen diese Counter jeweils mit der Anzahl innnerhalb des Auftrages zusammengezählt werden.
Das passiert mit <#list 1..quantity?number><#assign meta.counter.inc(SKU!) /></#list> Der Zählerstand für die SKU wird um die Anzahl in der Spalte quantity erhöht.
Diese zusammenzählung muss dann widerrum mit dem Gesamtbestand abgeglichen werden.
Den Gesamtbestand muss du dir (am besten per Querverweis aus einem Datastore) für diese SKU holen. Die Abfrage ob der Gesamtbestand in der Zeile/für die Position ausreicht ist dann <#if GesamtbestandArtikel >= (meta.counter.get(SKU!) + quantity?number)>
Kann ich dann Gruppierungen nach 2 Faktoren machen? Denn ich müsste ja nach SKU Gruppieren und diese dann widerrum so, dass mit der größten Menge angefangen wird, sonst funktioniert der Filter auch nicht.
Du kannst dafür 2 SpreadsheetMapper verwenden. Erst sortieren und dann gruppieren. Ich denke aber, dass du die Gruppierung nicht benötigst
Im Detailbeispiel stelle ich mir das so vor, wie im Anhang, vielleicht kann ich es damit besser erklären.
VG Torsten