protonmg

Aktives Mitglied
4. November 2016
23
0
Liebes Forum,

In einem Auftrag habe ich drei Artikelpositionen: 2 für den Dropshipper und eine für das eigenen Lager. Dem Dropshipper möchte ich per API nur die zwei Artikel, die für ihn bestimmt sind übermitteln.

In der Schleife wähle ich mit dem "IF" die Artikel für den Dropshipper über das Feld Anmerkung = DS aus. Das funktioniert, es werden nur zwei der drei Artikelpositionen ausgegeben.

Mein Problem:

Für die API soll ich das Feld Position füllen. Wenn jetzt der erste und der dritte Artikel DS-Artikel sind, dann steht in den Positionen 1 und 3. Ich hätte dazu aber gerne eine fortlaufende Nummerierung ohne der ursprünglichen Positionsangabe.

Dazu habe ich folgendes geschrieben:

{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen -%}
{% if Artikelbeschreibungen.Artikel.Anmerkung == 'DS' -%}

"position": {% assign amount = 0 %}
{% for Artikel in Vorgang.AuftragsPositionen.Positionen -%}
{% if Artikel.Anmerkung == 'DS' %}
{% assign amount = amount | Plus:1 %}
{% endif %}
{% endfor -%}
{{ amount }},




{% endif %}
{% endfor -%}

forloop.index funktioniert natürlich auch nicht.

Leider funktioniert dasnicht. Ich brauche die Positionen auch, um nach der letzten das Komma auszuschließen.

Kann mir bitte jemand einen Tipp geben?

Vielen Dank!!!

Matthias
 

protonmg

Aktives Mitglied
4. November 2016
23
0
Der Code hier zählt die Schleifenpositionen insgesamt ich brächte aber auch die Position innerhalb der Schleife.

{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen -%}
{% if Artikelbeschreibungen.Artikel.Anmerkung == 'DS' %}

"position": {% assign amount = 0 %}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% if Artikelbeschreibungen.Artikel.Anmerkung == 'DS' %}
{% assign amount = amount | Plus:1 %}
{% endif %}
{% endfor -%}
{{ amount }},



{% endif %}
{% endfor -%}
 

protonmg

Aktives Mitglied
4. November 2016
23
0
Forloop.index berücksichtig die If Bedingung nicht!

Es bräuchte sozusagen eine forloop.index die nur die Ausgaben aufgrund der 'IF'-Bedingung zählt..
 

ple

Sehr aktives Mitglied
20. August 2019
872
182
mal so nebenbei, wieso fängst du das nicht als lieferantenbestellung ab? Ausliefern und csv erzeugen. Oder im Workflow kann man sich auch alle Artikel vom Lieferanten ausgeben lassen, die dropshipping sind
 

Ähnliche Themen