Gelöst Erweiterte-Eigenschaften | Vorgang.AuftragsPositionen.ArtikelPositionen.Artikelmerkmale

trendmarkt24

Aktives Mitglied
9. Juli 2017
7
0
Hallo,

arbeite derzeit an einem Workflow mit Erweiterten-Eigenschaften. Ich möchte das ein hinterlegter Merkmalname ( LETBX10, LETBX2, LETBX5 ) in einem Auftrag von allen Artikeln mit diesem Merkmal
den Text 'LETBX' entfernen und dann zusammen zählen. Also sollte als Ergebnis ( Artikel1 Merkmal = LETBX10 | Artikel2 Merkmal = LETBX2 | Artikel3 Merkmal = LETBX5 ) = 17 sein.
Bisher habe ich folgenden Code:


{% assign Anzahl = '' -%}
{% for Merkmaltext in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikelmerkmale -%}
{% if Merkmaltext.MerkmalName contains 'LETBX' -%}
{% assign Anzahl = Anzahl | Plus: {{Merkmaltext.MerkmalName | Replace: 'LETBX' ''}} -%}
{% endif -%}
{% endfor -%}
{{ Anzahl}}

Hierbei kommt als Ergebnis 10. ( Erster Artikel )
Wie ersichtlich benötige ich in der for Schleife noch den korrekten Bezug... Vorgang.AuftragsPositionen.ArtikelPositionen.Artikelmerkmale funktioniert leider nicht und finde hier auch nirgends etwas passendes.

Vielleicht hat hier jemand einen Tipp?

Vielen Dank :)
 

PRIMANU

Neues Mitglied
9. April 2023
2
1
Wir würden uns der Farge gerne anschließen. Bräuchten das ebenfalls in abgewandelter Form.
 

PRIMANU

Neues Mitglied
9. April 2023
2
1
Hallo trendmarkt24,

haben es so gelöst:

Zuerst bei Admin -> Eigene Felder
im Bereich Artikel Gruppe Letterbox und Feld Anzahl hinterlegt.
So kannst du jetzt für jeden Artikel die Ganzzahl eingeben, wie oft dieser in eine Letterbox passen würde.

Siehe Bild:
Eigene-Felder-Artikel-Letterbox.png

Dann musst du folgendes machen:

Admin -> JTL Workflows -> Aufträge -> Auftrag -> Erstellt
Dort einen neun JTL Workflow Anlegen. z.B. als Name "Letterbox"
Dann im Workflow Neue Bedingung -> Erweiterte Eigenschaft -> Erweiterte Eigenschaft verwalten
Hinzufügen
Name z.B. "Letterbox 1 = Ja | 0 = Nein"
und dann folgendes in den Text einfügen:

{% assign Gesamtmenge = 0 -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% assign Gesamtmenge = Gesamtmenge | Plus: Artikelbeschreibungen.Menge -%}
{% endfor -%}

{% assign LETMAX = 100 -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% if LETMAX > Artikelbeschreibungen.Artikel.EigeneFelder.Letterbox.Anzahl -%}
{% assign LETMAX = Artikelbeschreibungen.Artikel.EigeneFelder.Letterbox.Anzahl -%}
{% endif -%}
{% endfor -%}

{% assign Ergebnis = 0 -%}

{% if Gesamtmenge <= LETMAX -%}
{% assign Ergebnis = 1 -%}
{% endif -%}
{{ Ergebnis | Floor }}

_______________
_______________

Zur Erklärung: Gesamtmenge zählt im Auftrag die Artikelanzahl aller Positionen.
LETMAX gibt vom gesamten Auftrag den kleinsten zulässigen Leterbox Wert eines Artikels an.

Wenn Gesamtmenge nicht größer oder kleiner LETMAX ist, wird 1 ausgegeben!

Dies kann dann im Workflow verwendet werden, um bei 1 die Versandart zu wechseln, da alle Artikel dann in eine Letterbox passen würden.

Viele Grüße von
PRIMANU MARKETINGDIENSTLEISTUNGEN
 
  • Gefällt mir
Reaktionen: trendmarkt24
Ähnliche Themen

Ähnliche Themen