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
402
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
402
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.238
287
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
Worker 2 Dienst läuft aber mehr nicht || Wie Worker 2 extern überwachen? JTL-Wawi 1.10 8
Neu NOVA Child-Template funktioniert nicht wie erwartet jtlshop 5.6 Templates für JTL-Shop 2
Neu eBay-Angebote: Herstellernummer wird automatisch auf 'Nicht zutreffend' gesetzt - wie verhindern? eBay-Anbindung - Fehler und Bugs 0
Neu Artikelsuche mit % Platzhalter funktioniert nicht mehr (wie früher) JTL-Wawi - Fehler und Bugs 6
Große custom.css, wie geht es einfacher? Einrichtung JTL-Shop5 1
Neu Wie lege und inseriere ich sehr ähnliche Artikel so effizient wie möglich auf eBay und Shopify User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lageroption Stückzahl nicht teilbar - wie an Kindartikel vererben ? User helfen Usern - Fragen zu JTL-Wawi 7
Neu Wie kommen die Versandarten aus JTL-Wawi in den JTL-Shop? Betrieb / Pflege von JTL-Shop 7
Neu Gutscheine an JTL POS ohne Voucher - wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie starte ich JTL WMS Installation von JTL-WMS / JTL-Packtisch+ 1
Neu Eine Rechnungsposition auf zwei Teilrechnungen berechnen - Wie löst ihr das? Arbeitsabläufe in JTL-Wawi 7
Neu bei bestimmten Kunden muss die Rechnung beigelegt werden / wie erfolgt dies? Arbeitsabläufe in JTL-Wawi 8
Kundenstammdaten: Wie erkenne ich in der Wawi, ob ein Shop-Kunde ein Kundenkonto angelegt hat? JTL-Wawi 1.9 2
Neu Auswahl im JTL Shop - keine Rechnung beilegen - wie in Wawi einlesen ? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflows: Wie genau funktioniert die Ausliefern-Aktion User helfen Usern - Fragen zu JTL-Wawi 4
Neu Buchhaltung, Controlling etc. - Wie macht ihr das? User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL POS: wie Position Übersicht neben dem Eingabebereich? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shopify Basic mit JTL? Wie einrichten? Ist der JTL Guide noch aktuelle wegen PII Einschränkung? Shopify-Connector 2
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Verwendung mehrerer Artikeletikett Vorlagen, wie auswählen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Wie exportiere ich Artikel ohne Lieferanten richtig? JTL Ameise - Eigene Exporte 0
Artikel mit Freitext Variation - oder wie "kundenindividuelle Artikel" handhaben? JTL-Wawi 1.10 1
Neu Kommissionsware --> via Chargen --> saubere Lagerbewerung aber wie? User helfen Usern - Fragen zu JTL-Wawi 7
Neu Versandklassen - wie richtig konfigurieren? Arbeitsabläufe in JTL-Wawi 2
Neu Versandadresse wird nicht wie gewünscht an Amazon übermittelt Einrichtung und Installation von JTL-eazyAuction 0
Neu robots.txt wie richtig einstellen ? Betrieb / Pflege von JTL-Shop 21
Neu Versandkostenberechnung ebay, Kleinpaket International. Wie berechnen in ebay ? eBay-Anbindung - Fehler und Bugs 0
Statistik nicht gleiches Ergebnis wie Ameise JTL-Wawi 1.10 4
Absenderadresse bei Amazon-Versandbestätigungen - wie anpassen? JTL-Wawi 1.10 0
Neu Wie füge ich dem News-System eigene Input-Felder hinzu? Technische Fragen zu Plugins und Templates 3
Neu Rechnungsdatenservice 2.0 : Wie initial Übergabe von Rechnungen mit Belegtyp (Belegkreis) "Rechnungsausgang" an Datev Unternehmen online? User helfen Usern - Fragen zu JTL-Wawi 1
Update 1.9.8.0 auf 1.10.14.0 Frage zum Rechnungen IDU JTL-Wawi 1.10 0
Neu Frage: Artikelimport aus Amazonlisting von Drittanbietern User helfen Usern - Fragen zu JTL-Wawi 4
Neu Frage zur eBay-Artikelbeschreibung bei Variationskombinationen (Kindartikel mit eigenem Text und Bildern) eBay-Anbindung - Fehler und Bugs 5
Neu Frage zur Handhabung bei Import Vorlage JTL-Ameise - Fehler und Bugs 5
Kann ich mit dieser SQL Version die neue WaWi 1.11.1 installieren? JTL-Wawi 1.11 2
Ich möchte den Bestand der Verpackungskartons im System verwalten und nachverfolgen JTL-Wawi 1.10 2
Neu In welcher SQL Tabelle finde ich den Ansprechpartner des Herstellers? User helfen Usern - Fragen zu JTL-Wawi 2
Ich möchte den Einkaufspreisverlauf eines Produkts JTL-Wawi 1.10 1
Neu Bekomme ich hier im Forum für mein Projekt Support? User helfen Usern 8
Neu Im Shop-Backend (5.5.3) erhalte ich bei einigen Menüpunkten "HTTP 500 Error" Seiten Allgemeine Fragen zu JTL-Shop 2
Neu Wo kann ich folgendes Wort übersetzen? Allgemeine Fragen zu JTL-Shop 2
Neu Ich habe eben einen neuen Shop erstellt und alle Artikel übertragen, aber leider werden mir bei den Versandarten die Versandklassen nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Ich habe eine neue TSE-Karte gekauft (Swissbit TSE). Wo finde ich den PIN und PUK? Einrichtung / Updates von JTL-POS 3
Neu Kann ich irgendwie ausgeben, welches JTL-Konto das Dokument gedruckt hat? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11

Ähnliche Themen