Gelöst Attribute per DotLiquid in Workflow einzeln abfragen

Dull

Gut bekanntes Mitglied
14. Juli 2014
127
12
Passau
Moin,

ich versuche nun schon seit ein paar Stunden Attributwerte der ersten Artikelposition für einen Workflow zu extrahieren. Glaube langsam, dass das nicht (bzw. nur per SQL-Abfrage) möglich ist ... oder sehe ich den Wald vor lauter Bäumen nicht mehr?

Im Prinzip soll für einen Workflow eine erweiterte Eigenschaft erstellt werden, die zurückgibt, ob ein Attributwert mit einer If-Abfrage übereinstimmt. Im Prinzip soll also ein Booleanwert dabei heraus kommen, den ich dann für den Workflow nutzen kann.
Vorgefertigt gibt es dazu aber nur die 2 Variablen:
{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute }} und
{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.AttributeAlsText }}

Die erste Var gibt mir irgendwie gar nichts zurück, die zweite eben unsortierten Plaintext von allen Attributen des Artikels. Ich möchte nun aber gezielt ein bestimmtes Attribut, bzw. dessen Wert ausgespuckt bekommen, was mit den beiden Variablen wohl nicht funktioniert ^^
Bei den Vorlagen kann das ganz einfach z. B. per "Alias$()" oder "JTL_GetProductAttribute("ATTRIBUTNAME",SalesOrderPosition.ProductInternalId))" gelöst werden.

Da wir produktabhängige Attributwerte zur Berechnung von verschiedenen Sachen verwenden wäre es aber super, wenn man die Attribute konsistent nicht nur in den Vorlagen, sondern auch Global in DotLiquid ansprechen könnte :)
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
987
90
Hallo @Dull,

habt Ihr hier schon mal mit einer For-Schleife versucht die Artikelliste auf dieses Attribut zu überprüfen ?
Schaut mal hier könnt ihr sehen wie Ihr das macht, ist in in den Workflows bei DotLiquid sowie bei den Vorlagen gleich.
 

Dull

Gut bekanntes Mitglied
14. Juli 2014
127
12
Passau
Hi Björn,
Jap habe ich probiert je nach Konstellation kommt dabei folgendes raus:

Bei Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.AttributeAlsText kommt in jedem Fall eine leere Ausgabe.

Bei
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{{ item }}
{% endfor %}
erscheint:
Code:
Leere Ausgabe


Bei
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{{ item[0] }}
{% endfor %}
erscheint:
Code:
 [Farbe, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Format, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Papier, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Umfang, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Verarbeitung, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Nutzen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Seiten, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-Bogen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-Bogen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Nutzen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Seiten2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-Bogen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-Bogen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][NutzenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][SeitenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-BogenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-BogenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-SM-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-GTO-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-Fremd-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Typ, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Typ2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][TypGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap]


Bedeutet das also, dass es sich hier um ein verschachteltes Array in Abhängigkeit der Sprache handelt? Und wie bekomm ich da denn dann die Werte raus... dazu ist leider nix in der Dokumentation hinterlegt ^^

Habe das eben auch mit verschachtelten FOR-Abfragen getestet:
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{% for wert in item[6] %}
{{ wert[0] }}
{% endfor %}
{% endfor %}
Code:
Liquid error: Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden.
 
 Liquid error: Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden.
 
Zuletzt bearbeitet:

Dull

Gut bekanntes Mitglied
14. Juli 2014
127
12
Passau
Ok nach einigem tüfteln hier die Lösung, falls andere das ebenfalls brauchen können.

Die Verschachtelung muss in Attributgruppe, Attributname und Attributsprache entschachtelt werden (Sprache evtl. von Wawi-einstellungen abhängig). Das könnte in einem Beispiel so aussehen:

Code:
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
 {% for wert in item[0] %}
    {% for wert2 in wert(HIER-ATTRIBUTNAME-EINFÜGEN) %}
        {{ wert2(Deutsch) }}
   {% endfor %}
 {% endfor %}
{% endfor %}
 
  • Gefällt mir
Reaktionen: 22143 und PAO1908
Ähnliche Themen
Titel Forum Antworten Datum
Neu Shopify Kategorie /(Produkt Taxonomie) und kategoriespezifische Attribute in JTL Wawi pflegen Shopify-Connector 0
Neu HTML Attribute im Shopify richtig anzeigen Shopify-Connector 7
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Sendungsnummern per Mail versenden bei mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Textvorlage bei "Nachricht an Kunde" per email nicht mehr möglich JTL-Wawi 1.11 2
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Bildimporte per Ameise ein "netter" Zeitvertreib JTL-Wawi 1.11 0
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Alternativtext für Artikelbilder per Ameise pro Plattform setzen JTL-Wawi 1.10 0
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Aktivierung des Kundenkontos per Bestätigungsemail Allgemeine Fragen zu JTL-Shop 5
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu "Ist Standard Dropshipping Lieferant" per Ameise exportieren User helfen Usern - Fragen zu JTL-Wawi 5
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
neue Zahlungsart "Barter", trotzdem erscheint "Zahlung per Überweisung und QR-Code" JTL-Wawi 1.10 1

Ähnliche Themen