Neu Wie Frage ich Attribute in Workflows ab?

Maekaey

Sehr aktives Mitglied
11. November 2016
268
66
Hallo Zusammen,

wie frage ich bei Workflows als Bedingung ab, ob ein bestimmtes Attribut vorhanden ist, bzw. einen bestimmten Wert hat.

Ich komme bei Bedingungen bis: Kunde.Attribute und dann kann ich sagen ist nicht leer. Aber ich komm nicht dahinter wie ich die Werte der Attribute prüfen kann. Finde es auch nicht im Guide oder Forum. Falls es da irgendwo steht gern auch einfach n Link posten :)

Würde gerne prüfen:
Kunde hat das Attribut: "rechnungsemail"
Und am liebsten würde ich dann die Rechnung per Mail an den Wert des Attributs "beispiel@email.de" senden.
Zweiteres wär nur nice to have, wie ich aber ein Attribut abfrage wäre super zu wissen.

Vielen Dank vorab!
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
401
Hallo @Maekaey,

das ist ein bißchen schwieriger als eigentlich nötig, denn das Format, in dem die Attribute übergeben werden, ist das gleiche, wie bei den List & Label Vorlagen, also "Param1=Wert1|Param2=Wert2|..." und Du müsstest den gewünschten Wert ~irgendwie~ aus der (langen) Liste von Wertepaaren extrahieren.

Wenn ich aber nichts übersehen habe, dann gibt es bei den Workflows leider keinen Befehl, der analog zum Alias$(Parameter,WerteListe) Befehl bei den Vorlagen elegant den Wert zu einem Parmeter aus der Werteliste isoliert und zurückgibt. Eigentlich hoffe ich, dass ich mich hier irre, denn ein solcher Befehl wäre auch bei den Workflows sehr praktisch ...

Falls ich aber recht habe und es so etwas einfaches nicht gibt, dann kann man das Ganze auch in DotLiquid-Code in einer "Erweiterten Eigenschaft" nachbilden, die Du in einem eigenen Editor-Fenster anlegst. Den Editor rufst Du über den Button ganz unten in der Auswahlliste für Workflow-Bedinungen auf, legst eine neue Eigenschaft an, gibst ihr einen aussagekräftigen Namen und gibst dann folgenden Code in das Editorfenster ein ...
Code:
{% assign AttributParam = 'Lieferantennummer' -%}
{% assign KundenAttribute = Vorgang.Attribute | Split: "|" -%}
{% for KundenAttribut in KundenAttribute -%}
{% assign EinzelAttribut = KundenAttribut | Split: "=" -%}
{% if EinzelAttribut[0] == AttributParam -%}
{% assign AttributWert = EinzelAttribut[1] -%}
{% endif -%}
{% endfor -%}
{{ AttributWert }}

Ganz oben definiere ich den Attribut-Paramter nach dem gesucht werden soll. Das mache ich dort oben, damit man den Code leicht an verschiedene Suchbegriffe anpassen kann ohne immer im Code selbst rumschmieren zu müssen. Dann spalte ich die potentiell mehreren Kundenattribute in Gruppen aus je einem Param=Wert Paar auf und spalte diese Paare dann weiter in jeweils einen Vektor mit zwei Einträgen, einem für den Parameter und einem für den Wert auf. Damit kann man dann ganz bequem in einer for-Schleife über die Attributpaare laufen, in EinzelAttribut[0] nach dem gesuchten Attribut suchen und dann mit EinzelAttribut[1] seinen Wert zurückgeben, in Deinem Beispiel also z.B. "beispiel@email.de".

Hinweis: Ich gebe den Attributwert hier übrigens deshalb nicht gleich innerhalb der Schleife mit {{ EinzelAttribut[1] }} zurück, sondern weise ihn einer Variable "AttributWert" zu, weil es auch vorkommen könnte (wäre doof, aber ~könnte~), dass man das gleiche Kundenattribut mehrmals definiert hat. Dann würden zwei Werte zurückgegeben werden, was den Workflow kippen würde. Deshalb weise ich den gefundenen Attributwert einer Variablen zu und gebe deren aktuellen=letzten Wert erst in der allerletzten Zeile aus.

Durch das {{ AttributWert }} in der letzten Zeile wird dieser Wert dann also automatisch an die aufrufende Workflow-Bedingung zurückgegeben, wo Du einfach nur auf "ist nicht leer" prüfst. Unten, in der Workflow-Aktion wählst Du "Email senden" und in der "Empfänger:" Zeile klickst Du auf die drei Punkte ganz rechts und gibst im sich öffnenden Editor-Fenster wieder den gleichen DotLiquid-Code ein. Damit wird dann die Email-Adresse in das "Empfänger:" Feld zurückgegeben.

Damit sollte Dein Workflow laufen ... :)

Gruß,
Ingmar
 
Zuletzt bearbeitet:

Maekaey

Sehr aktives Mitglied
11. November 2016
268
66
Hallo Ingmar,

du bist Spitzenklasse!
Vielen Dank für die ausführliche und perfekte Erklärung.
Es hat tadellos funktioniert und ich bin dir sehr dankbar.

Gruß,
Micha
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
401
Hi Micha,

sehr gern geschehen. - Ich habe aus dieser Sache übrigens einen Feature-Vorschlag für die von JTL's Rico gestartete "Fehlende Workflow Aktionen" Sammlung gemacht, siehe hier.

Die Logik dort ist, dass man nicht postet und sagt "Jo, finde ich auch", sondern dort wird "mit den Füssen" abgestimmt, also über "Gefällt mir" Vergabe. Und da Du ja selbst Workflows benutzt wäre es schon aus Eigennutz :) sicher sinnvoll, wenn Du dir die Vorschläge dort mal anschaust und für die, die Dich ansprechen Deine "Gefällt mir's" verteilst.

Gruß,
Ingmar
 

Maekaey

Sehr aktives Mitglied
11. November 2016
268
66
Hallo Ingmar,

die fehlende Workflow Aktion is auch super, habe meine "gefällt mir"s gesetzt.
Ich überlege gerade noch welche Möglichkeiten die neuen Abfragen uns alles ermöglichen und denke mir neue Workflows aus. :)
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.229
286
Hi,

danke @gutberle für dieses Konstrukt. Ich kenne mich damit nicht aus.

Ich habe in Vorbereitung auf die neue DSGVO ein Merkmalwert abfragen wollen, der im Webshop gesetzt wird. Hierzu habe ich in Zeile 2 "Vorgang.Attribute" durch "Vorgang.Stammdaten.Kunde.Attribute" ersetzt und nun endlich nach langem rumprobieren das gewünschte Ergebnis gefunden. Puh...!
Somit kann ich nun auch auch weitere Checkboxen hinsichtlich der DSGVO einbauen und abfragen.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Frage zur ersten Seite des Nova-Template (Demoseite) und wie man diese abschaltet Allgemeine Fragen zu JTL-Shop 2
Wie kann ich in JTL WAWI 1.10.11.0 meine ServiceDesk Lizenz deaktivieren, damit ich Greyhound nutzen kann? JTL-Wawi 1.10 3
Neu Wie richte ich es so ein, dass alle vom Shop versendeten Mails per BBC an eine bestimmte Mail gehen (SMTP) Allgemeine Fragen zu JTL-Shop 1
Neu Wie lässt sich die Ausführung eines Workflows stoppen, sobald ein Produkt in einer gewissen Kategorie ist? JTL-Workflows - Fehler und Bugs 1
Neu andere Artikelbeschreibung für neue Marktplätze per Ameise, wie ? Arbeitsabläufe in JTL-Wawi 4
Neu Filter-URLs mit Farbangaben & ?ed=1 – Wie richtig behandeln (noindex, löschen, vermeiden)? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie komme ich die Hintergrundfarben entfernt im Artikel Einrichtung von JTL-Shop4 0
Neu Wie vermeide ich das die Schrift und das Grid-Layout sich verschiebt Templates für JTL-Shop 3
Neu Individuelle Preise ans Kassensystem übertragen – wie geht das? HILFE DRINGEND Allgemeine Fragen zu JTL-POS 0
Neu Verpackungseinheiten und Mindestbestellmengen wie eingeben? (Auch via Ameise) Arbeitsabläufe in JTL-Wawi 0
Neu Wie kann man in den Vorlagen die Mengenanzeige von "STK" in "Menge" oder "x" ändern ! User helfen Usern - Fragen zu JTL-Wawi 2
Neu Wie läuft eine Bestellung ab und wie bekomme ich die Aufträge aus dem Shop in die Wawi übertragen? Betrieb / Pflege von JTL-Shop 0
JTL-Wawi 1.9.7.1 – Wie kann man "Suchbegriffe" für Kaufland.de anlegen? JTL-Wawi 1.9 0
Neu wie kann ich sonderpreise über Ameise deaktivieren? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Vorbestellbarkeit/sofort bestellbar – wie lässt sich das sinnvoll steuern? Allgemeine Fragen zu JTL-Shop 15
Neu Wie kann ich es so einstellen, dass die Verfügbarkeit schon in der Suche und der Kategorieübersicht angezeigt wird, anstatt nur auf der Artikelseite? Allgemeine Fragen zu JTL-Shop 0
Neu Wie kann man PayPal-Kunden eine bestimmte Debitorennummer zuweisen? JTL Ameise - Eigene Exporte 16
Neu Warum wird im Shop 5 der Lieferanten-Artikelname anstatt WAWI-Artikelname angezeigt? Wie kann ich das ändern? Betrieb / Pflege von JTL-Shop 1
Neu Wie kann ich dem Kunden eine Kopie des 80 mm breiten Kassenbons im DIN A4 Format zur Verfügung stellen? Fragen rund um LS-POS 11
Produktdaten sind online - Wie jetzt aus JTL Angebotsdaten erstellen? kaufland.de - Anbindung (SCX) 0
Neu Wie Auftragsstatus ändern von "ohne Versand abgeschlossen" auf "Abgeschlossen"? Arbeitsabläufe in JTL-Wawi 4
Neu Wie rufe ich Artikelbilder aus der Wawi im PowerBI Report Builder ab? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Google-Export: wie Artikel als Kind- oder Vaterartikel markieren? Plugins für JTL-Shop 0
Neu Wie Attribute/Merkmale eines Artikels abfragen? Schnittstellen Import / Export 1
Neu Datev Debitoren Export - Wie export man Stammdaten zu den Bewegungsdaten User helfen Usern - Fragen zu JTL-Wawi 0
Wichtig! Wie kann ich bei ABOs die VKs und EKs überwachen / aktualisieren? JTL-Wawi 1.9 9
Neu Wie kann man Produkte im Woocommerce über JTL auf "Entwurf" setzen? User helfen Usern - Fragen zu JTL-Wawi 1
Frage zu 1.10.x (Worker Timeout behoben? SCX Marktplätze parallel?) JTL-Wawi 1.10 5
Neu Frage zu EcoDMS User helfen Usern 0
Neu Exportformate Hook Frage Technische Fragen zu Plugins und Templates 3
Neu Frage zu Setting in info.xml Technische Fragen zu Plugins und Templates 0
Neu Frage zu Datei googleshopping.xml Schnittstellen Import / Export 6
Neu Bin ich der einzige, der Amazons VCS benutzt (nicht Lite) und mit der neuen JTL-Version 1.10.10.3 akute Probleme hat? Amazon-Anbindung - Fehler und Bugs 0
Neu Welchen Shopify Plan brauche ich um Kundendaten mit JTL abzugleichen? Shopify-Connector 0
Neu Retouren unter Wawi 1.9 einbuchen - ich raffe es nicht. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Retouren unter Wawi 1.9 einbuchen - ich raffe es nicht. Arbeitsabläufe in JTL-Wawi 1
Neu das JTL Konfigurator-Modul kann ich ab welcher Wawi Version nutzen ? User helfen Usern - Fragen zu JTL-Wawi 6
Neu "Bestand pro Lager anzeigen" - in welchen Templates finde ich die Angaben zu dem Wort "Lager"? Templates für JTL-Shop 1
PDF-Formulare werden gespeichert, dennoch bekomme ich Printlogs auf dem Desktop JTL-Wawi 1.9 8
Neu JTL pos hängt sich auf und druckt keinen Bong mehr wenn ich ein Logo hinzufüge JTL-POS - Fehler und Bugs 1
Neu Ich bekomme Amazon nicht unter "Marktplätze" gelistet User helfen Usern - Fragen zu JTL-Wawi 2

Ähnliche Themen