Neu Wie Frage ich Attribute in Workflows ab?

Maekaey

Sehr aktives Mitglied
11. November 2016
268
65
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
395
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
65
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
395
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
65
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.180
268
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
Wie schalt ich den worker Client aus auf den Server wegen Update JTL-Wawi 1.8 1
Neu Wie gebrauchte Waren bei Ebay einstellen? Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Category by ID - WIE? Templates für JTL-Shop 6
Wie kann ich etwas in der WAWI Datenbank per SQL ändern? JTL-Wawi 1.8 2
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Trackinglink enthält Hashtag - wie eingeben? JTL-Wawi 1.8 0
Neu Wie setzt Ihr eure Dev/Staging Umgebungen auf? Betrieb / Pflege von JTL-Shop 0
Neu Fehler: Sonderpreis falsch formatiert, wird nicht importiert; obwohl importiert genau wie exportiert User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie erstelle ich das richtige Layout für handy, Desktop etc Allgemeine Fragen zu JTL-Shop 0
Neu Wie gut ist die Datenbanksynchronisation? JTL-Wawi - Ideen, Lob und Kritik 4
Neu Wie kann ich im JTL-Shop einen Abwesenheitshinweis einstellen? Allgemeine Fragen zu JTL-Shop 1
Neu Artikelpreise Verknüpfen (ähnlich wie Stücklisten) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich eine Inventurliste als Excel- oder csv-Datei erstellen? Gelöste Themen in diesem Bereich 3
Wie kann ich eine Benachrichtigung bei einem Wareneingang auslösen mit einer Mail über die Artikel die eingebucht wurden JTL-Wawi 1.8 2
Neu Conrad anbindung an JTL / eazy auction, aber wie? User helfen Usern - Fragen zu JTL-Wawi 4
[JTL-WAWI API] Wie funktioniert die Item-Image API? JTL-Wawi 1.8 0
Neu Wie kann ich die vergebene Coupons sehen. Welche Kunde welchen Copoun Allgemeine Fragen zu JTL-Shop 0
Neu Wie kann ich Alt-Texte für Bilder an Shopify senden? Shopify-Connector 2
Neu Wawi Artikelattribut = externer Link wie am besten darstellen beim Artikel? Allgemeine Fragen zu JTL-Shop 0
Neu Expressbearbeitung-Gebühr. Wie realisieren? Allgemeine Fragen zu JTL-Shop 1
Zusatzkosten wie Zölle JTL-Wawi 1.7 2
Neu Wie Wawi (Kundendaten) zurücksetzen User helfen Usern - Fragen zu JTL-Wawi 10
Neu [Umfrage] - Was hälst du von Updates - Innovativ oder aufwendig? Wie kann es besser gehen? Installation / Updates von JTL-Shop 0
Neu Wie Lizenz kündigen User helfen Usern - Fragen zu JTL-Wawi 13
Neu Wie funktioniert Individualproduktion / Einzelfertigung JTL-Plan&Produce - Ideen, Lob und Kritik 4
Neu Wie kann ich nicht mehr vorhandene ausländische USt-ID löschen? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Cloud oder inHouse, dass ist die Frage Installation von JTL-Wawi 16
Neu Gutschein Rabatt Frage ? Allgemeine Fragen zu JTL-Shop 0
Neu Frage zu Designvorlage JTL-Adept - Slider (für Ebay) eBay-Designvorlagen - Fehler und Bugs 4
Gelöst Frage zu Teilzahlungen Allgemeine Fragen zu JTL-POS 3
Neu JTL Shopify Connector und Billbee frage Shopify-Connector 0
Frage zu Verkauf Kaufland Tschechien und Slowakei - Anbindung notwendig oder auch durch Kaufland realisierbar ? kaufland.de - Anbindung (SCX) 0
Frage zu Feature | WAWI-63484 - Übertragung von "Belegbildern" - Rechnungsdatenservice 2.0 - DATEV Unternehmen Online - Belege - Bitte um Hilfe JTL-Wawi 1.8 0
Neu Frage: Email Adressen Validator Fehler Allgemeine Fragen zu JTL-Shop 0
Neu Frage zu Shopify Kategorien Shopify-Connector 1
Frage zur Ansicht JTL-Wawi 1.7 1
Ich habe auf NOVA umgestellt aber PayPal funktioniert nicht Einrichtung JTL-Shop5 1
Neu - Lieferzeit in Wochen / Monaten statt Tagen SHOP-4080 - wo finde ich diese Möglichlichkeit im Admin Bereich Installation / Updates von JTL-Shop 2
Neu Wo kann ich einstellen, welche Rechnungsvorlage "gezogen" wird Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 13
Kann ich eine email an die Wawi senden durch die dann ein neuer Auftrag generiert wird? (Daten müssen händisch vervollständigt werden...) JTL-Wawi 1.8 2
Verwiesen an Support wo finde ich die Logdatei von den Workflows JTL-Workflows - Fehler und Bugs 9
Gelöst Zebra T21 Scanner mit Installierten JTL POS 1.0.9.3 beim Bon versuche Ich einfach zu Scannen er sucht aber kein Artikel JTL-POS - Fehler und Bugs 1
Neu Kostenloses Webinar: BWA – Leg ich ab? Richtiges lesen einer BWA zur Unternehmenssteuerung im Onlinehandel Smalltalk 0
Kein Abgleich zum Shop, ich komme nicht in Plattformen/Verkaufskanäle rein JTL-Wawi 1.8 3
Was mache ich falsch? Kaufland API meldet - already exists kaufland.de - Anbindung (SCX) 1
Wo finde ich die "Serie" JTL-Wawi 1.8 8
Neu Lieferschein - wo finde ich die Textvorlage? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1

Ähnliche Themen