In Diskussion Erweiterte Eigenschaften vorkommnisse von Warengruppen ausgeben

deton8

Aktives Mitglied
13. März 2019
14
3
Ich versuche über eine Erweiterte Eigenschaft einen Workflow dazu zu bringen, pro Artikel einer bestimmten Warengruppe innerhalb einer Bestellung eine Aktion auszuführen.
mit dem Code
{% for Position in Vorgang.Auftragspositionen %}
{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Warengruppe.Name }}
{% endfor %}

erhalte ich die Warengruppe des ersten Artikels.
Wie erhalte ich eine Anzahl über alle AuftragsPositionen?

Pos1: Warengruppe A
POs2: Warengruppe B
Pos3: warengruppe A mit PostionsAnzahl 2

sollte dann also 3 als Ergebnis Liefern....

Theoretisch müsste sowas ja gehen:

{% assign anzahlWG = 0 %}
{% for position in Auftrag.Positionen %}
{% if position.Artikel.Warengruppe == 'Meinewarengruppe' %}
{% assign anzahlWG = anzahlWG | plus: position.Anzahl %}
{% endif %}
{% endfor %}
{{ anzahlDecks }}

greift aber auch nicht....
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
101
37
Michelstadt | Bensheim
Firma
Zaxxo UG (haftungsbeschränkt)
Du verwendest in deinem zweiten Beispiel eine falsche Variable für die for Schleife. Es müsste sein:

Code:
Vorgang.AuftragsPositionen.ArtikelPositionen

Und dann gibst du die falsche Variable aus. Oben definierst du "anzahlWG" und unten gibst du dann aber "anzahlDecks" aus.
 
  • Gefällt mir
Reaktionen: deton8

deton8

Aktives Mitglied
13. März 2019
14
3
Du verwendest in deinem zweiten Beispiel eine falsche Variable für die for Schleife. Es müsste sein:

Code:
Vorgang.AuftragsPositionen.ArtikelPositionen

Und dann gibst du die falsche Variable aus. Oben definierst du "anzahlWG" und unten gibst du dann aber "anzahlDecks" aus.
Vielen Dank für Deine Antwort!
Ich habe den Code angepasst, aber er spuckt weiterhin 0 aus obwohl im Vorschau-Auftrag 3 Positionen mit der Warengruppe enthalten


{% assign anzahlDecks = 0 %}
{% for position in Vorgang.AuftragsPositionen.ArtikelPositionen %}
{% if position.Artikel.Warengruppe == 'Decks' %}
{% assign anzahlDecks = anzahlDecks | plus: position.Anzahl %}
{% endif %}
{% endfor %}
{{ anzahlDecks }}
 

deton8

Aktives Mitglied
13. März 2019
14
3
Danke.
Der Code gibt keine Fehler, aber immer noch lediglich eine "0" zurück. Die (Schreibweise der Warengruppe habe ich geprüft)
Hier mal der Kontext:
Ein geht um einen Workflow unter Auftrag/erstellt
Bedingung: Auftragspositionen.Positionen.enthält.Artikel.Allgemein.Kategorisierung.Warengruppe.Name gleich "Decks"
(In der Simulation Trifft die Bedingug zu: "Decks gleich Decks")
Aktion: Artikel hinzufügen
Hier soll die Anzahl des hinzugefügten Artikels mittels der Erweiterten Eigenschaften bestimmt werden über den Code.
Für jeden Artikel der Warengruppe "Decks" soll der Artikel einmal hinzugefügt werden.

{% assign anzahlDecks = 0 %}
{% for position in Vorgang.AuftragsPositionen.ArtikelPositionen %}
{% if position.Artikel.Warengruppe.Name == 'Decks' %}
{% assign anzahlDecks = anzahlDecks | plus: position.Anzahl %}
{% endif %}
{% endfor %}
{{ anzahlDecks }}

Das müsste doch greifen?
Und wo finde ich denn eine Dokumentation über eine Zusammensetzung von Variablen wie "position.Artikel.Warengruppe.Name" ? in den Variablen rechts im Editor finde ich nichts, und
in der JTL Liste Aller Dot Liquid Variablen habe ich auch vergebens gesucht. Ich würde das gerne besser verstehen um eingeständig arbeiten zu können ;)
 
  • Gefällt mir
Reaktionen: Wissenssammler

Wissenssammler

Sehr aktives Mitglied
27. März 2016
438
75
Kottenheim
Wir haben ein ähnliches Problem. welches ich über zwei Wege angehen kann.

Weg 1 über die Warengruppe Dienstleistungen
Weg 2 über den Stücklistenartikel mit der Artikelnummer 10000 = 1 AW

Ziel ist es alle Aufträge jeweils ab den Auftragsdatum zu exportieren undann im nächsten schritt wieder ine inem Kalder mit der benötigten Zeit zu importieren.

Somit soll beim anlegen eines Auftrag zum 01.02.2024 mit 10 AW der auftrag automatisch exportiert werden. Damit ich auswerten kann, wie viel Zeit ich blocken muss voraussichtlich für den Auftrag.
Ich will dann aus der CSV auslesen das 10 AW am 01.02.2023 schon geplant sind und der Auftrag soll im Kalender mit einer Dauer voon 10 AW (1h) eingetragen werden.