Inaktiv E-Mail-Vorlagen: Eigene Felder aus dem Kunden in den Optionen nutzen

cash0581

Aktives Mitglied
22. September 2016
40
5
Hallo,

ich versuche verzweifelt in den E-Mail-Optionen einen Benutzerdefinierten Empfänger anzulegen und dabei auf die Eigenen Felder im Kundenstamm zuzugreifen. Allerdings ist sind diese in den Variablen des Dot-Liquid-Editors nicht zu finden. Gibt es eine Möglichkeit irgendwie auf die Felder zugreifen zu können?

Vielen Dank.
 

cash0581

Aktives Mitglied
22. September 2016
40
5
Hallo Rico,

natürlich schildere ich dir gern, was ich genau vorhabe. Ich habe im Kundenstamm ein Eigenes Feld angelegt, welches eine alternative E-Mailadresse (E-Mail Rechnungen) enthält. Diese E-Mailadresse würde ich gerne immer für den elektronischen Rechnungsversand verwenden, da wir einige Kunden mit abweichenden Rechnungsadressen haben. Den Befehl dazu wollte ich im Editor in den Mail-Vorlagen -> Mailoptionen (siehe-Screenshot) hinterlegen. Allerdings stehen die Kundeneigenen Felder hier nicht zur Auswahl.

Wäre super, wenn du mir sagen könntest, wie ich and dieses Feld komme? Vielen Dank im Voraus.
 

Anhänge

  • Screenshots.pdf
    122,4 KB · Aufrufe: 154
  • Gefällt mir
Reaktionen: Mechanikass

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Ich sehe grad dass ihr die 1.4 nutzt. Hier könntet ihr mit Ansprechpartner arbeiten.
Also sinngemäß so:
If Ansprechparter = Empty
Rechnungsmailadresse
Else
Mailadresse von Ansprechpartner
 

cash0581

Aktives Mitglied
22. September 2016
40
5
Super, vielen Dank für diesen Hinweis. Das klingt nach einer Lösung. Das bedeutet allerdings auch, dass ich auf die Eigenen Felder definitiv nicht zugreifen kann, richtig?
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Hallo cash0581,
konntest du dein Vorhaben umsetzen? Ich bräuchte exakt die gleiche Problemlösung, bin aber nicht in der Lage, dem Ansatz von Rico zu folgen, d. h. die Formel funktionstüchtig zu erstellen. Falls deine Lösung funktioniert, würde ich mich sehr über ein Posten deiner Formel freuen (vielleicht auch nicht nur ich :) )
LG
chmod
 

cash0581

Aktives Mitglied
22. September 2016
40
5
Hi chmod,

ich habe es umsetzen können. Ist allerdings noch nicht die perfekte Lösung, da man bei den Ansprechpartnern nur auf den ersten Datensatz zurückgreifen kann. Das bedeutet, sofern du bereits Ansprechpartner im Kundenstamm hinterlegt hast, greift das Ganze nicht. In diesem Fall müsstest du alle AP löschen und den alternativen Empfänger z.b. für die Buchhaltung als Ersten eintragen und danach alle Weiteren.

Jetzt aber zur Umsetzung.

1. Ansprechpartner im Kundenstamm anlegen. z.Bsp. "Buchhaltung"
2. In den Optionen der E-Mailvorlage beim Empfänger folgende Formel al Benutzerdefiniert hinterlegen. In meinem Fall greift die Formel auf das Abteilungsfeld in den Ansprechpartnern zu.

{% if Vorgang.Auftrag.Kunde.Ansprechpartner.ErstesObjekt.Abteilung == 'Buchhaltung' and Vorgang.Auftrag.Kunde.Ansprechpartner.ErstesObjekt.Abteilung != empty %}{{ Vorgang.Auftrag.Kunde.Ansprechpartner.ErstesObjekt.EMail }} {% else %}{{ Vorgang.Auftrag.Kunde.EMail }} {% endif %}

Sobald ein Ansprechpartner mit der Abteilung "Buchhaltung" angelegt ist, wird die Rechnung an diesen Kontakt versendet. Sonst immer an die normale Kunden E-Mail.

Viel Spaß damit
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Mit einer Schleife könntest du das umgehen (nur als Ansatz):
{% for jtlAnsprechpartner in Vorgang.Kunde.Ansprechpartner -%}
Fax: {{ jtlAnsprechpartner.Fax }}
Name: {{ jtlAnsprechpartner.Name }}
Telefon: {{ jtlAnsprechpartner.Telefon }}
EMail: {{ jtlAnsprechpartner.EMail }}
Abteilung: {{ jtlAnsprechpartner.Abteilung }}
{% endfor -%}
 
  • Gefällt mir
Reaktionen: SHAAN

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Hallo cash0581,
ich habe parallel zu deiner Antwort eben folgende Formel erarbeitet:

Code:
{% if Vorgang.Kunde.Ansprechpartner.ErstesObjekt.EMail == empty %}
  {{ Vorgang.Kunde.EMail }}
{% else %}
  {{ Vorgang.Kunde.Ansprechpartner.ErstesObjekt.EMail }}
{% endif %}

Das hat soweit zwar auf Anhieb funktioniert aber halt auch mit den von dir schon beschriebenen Nachteilen und Dingen, auf die man achten muss (erster Kontakt ...)

Ich werde nun mal deinen Lösungsansatz umsetzen und durchspielen und dann mit den Kollegen besprechen, welche wir zukünftig einsetzen wollen, sobald dann halt die 1.4 als stable freigegeben ist. Ganz lieben Dank aber für deine Ausführungen.

LG
chmod
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Hallo Rico,
was genau meinst du könnte ich mit einer Schleife umgehen? Sorry, ihr Programmierer immer mit eurer Sprache ;)
Dass der Ansprechpartner an erster Stelle stehen muss bliebe aber wohl bestehen, oder?

LG
chmod
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Mit umgehen meinte ich, dass ihr dann nicht auf den ersten Datensatz begrenzt wärt. (PS. Bin kein Programmierer, aber Danke für die Blumen) :)
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Das hört sich jetzt sehr interessant an. Mal seh'n ob ich das umgesetzt bekomme, versuche ich gleich mal ...
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Das könnte so funktionieren, oder?

Code:
{% for jtlAnsprechpartner in Vorgang.Kunde.Ansprechpartner -%}
{% if jtlAnsprechpartner.Abteilung == 'Buchhaltung' and jtlAnsprechpartner.EMail != empty %}
{{ jtlAnsprechpartner.EMail }}
{% else %}
{{ Vorgang.Auftrag.Kunde.EMail }}
{% endif %}
{% endfor -%}

In meinem ersten Versuch stimmt das Ergebnis mit dem Erwarteten überein. Kann das jetzt halt ohne zig Tests nicht abschätzen ob sich da noch ein Fallstrick dahinter verbirgt aber soweit so gut. Vielen Dank für den Ansatz, Rico :)

LG
chmod
 
  • Gefällt mir
Reaktionen: SHAAN

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Ja das sollte passen.
Kannst ja zur Not einfach mal einen Testkunden anlegen mit mehreren Ansprechpartnern die unterschiedliche Abteilungen haben.
Und dann schauen ob das Ergebnis stimmt.
Wüsste jetzt nicht warum es nicht gehen sollte.
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
So, einen weiteren Ansprechpartner mit anderer Abteilung dem Testkunden hinzugefügt welcher dann in der Liste den obersten Platz einnimmt und siehe da: die Rechnung wird an diesen versendet :(

Schade, der Rechnungsversand geht also doch an den ersten Kontakt, ohne dass dies nun in den Variablen so ersichtlich ist.

Wenn ich das richtig sehe müsste ich nun alle anderen Abteilungen in der Formel irgendwie ignorieren, dass es evtl. wieder gehen könnte, ganz egal wo der Ansprechpartner in der Liste platziert ist, richtig? Oder ginge das dann auch nicht?
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
Mir ist grad noch was anderes aufgefallen: Wenn ich einem Ansprechpartner eine neue Abteilung zuweise und diesen Kontakt dann abspeichere, den danach wieder öffne und die Abteilung löschen mag, dann wird das nicht umgesetzt, d. h. nach erneutem Speichern und Öffnen des Kunden ist der wieder der ursprünglichen Abteilung zugewiesen. Ich kann eine Abteilung zwar mit einer anderen überschreiben, nicht jedoch diese ganz raus löschen. Könnte das ein Bug sein oder gibt es da eine Überlegung dazu weshalb das so sein "muss", die ich grad nicht erkenne?
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.522
Ich glaube du müsstest hier mit einer SQL-Abfrage arbeiten die eine Verknüpfung (ein Join) mit der Abteilung herstellt.
Also:
JOIN {{ jtlAnsprechpartner.EMail }} WHERE {jtlAnsprechpartner.Abteilung == 'Buchhaltung' and jtlAnsprechpartner.EMail != empty %}

So ähnlich zumindest. :)

Das mit dem Löschen konnte ich nachstellen und habe dazu ein Ticket erstellt: https://issues.jtl-software.de/issues/WAWI-35802
 

chmod

Gut bekanntes Mitglied
19. März 2012
120
8
jaja, so ähnlich :)

Habe es mit folgenden Zeilen versucht, nachdem ich die Syntax für "JOIN" im Onlinehandbuch versucht habe zu recherchieren:

Code:
JTL_DirectQuery ("SELECT jtlAnsprechpartner.Abteilung FROM jtlAnsprechpartner.Abteilung
JOIN jtlAnsprechpartner.EMail
jtlAnsprechpartner.Abteilung == 'Buchhaltung'
AND jtlAnsprechpartner.EMail != empty ")

Aber wie verwurstel ich das nun im Editor so, dass mit eine Vorschau angezeigt wird wie das mit meinem o. a. Code der Fall war? Ohne Vorschau wahrscheinlich auch keine Ausführung weil irgendwo 'n Fehler drin ist, vermute ich. An der Stelle mag ich einfach nicht ins Blaue schießen, nicht dass ich danach Phantomfehler in der ganzen DB auslöse und ganz andere Probleme habe, wenn auch nur Testsystem ...

LG
chmod
 

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
330
165
Hannover
Die Schleife hat ein paar kleine Probleme: Ist kein Ansprechpartner hinterlegt, bleibt das Feld leer. Gibt es in der Buchhaltung mehrere Ansprechpartner, werden alle Mail-Adressen hintereinander ausgegeben, somit bekommt keiner die Mail (weil ungültige Adresse). Das löst du in dem du in der Schleife immer dasselbe Feld überschreibst und am Ende, falls es immernoch leer ist, mit dem Kundendatensatz befüllst. Ganz am Ende gibst du dir den Wert aus. In etwa so:
Code:
{% assign mail ='' -%}
{% for jtlAnsprechpartner in Vorgang.Kunde.Ansprechpartner -%}
    {% if jtlAnsprechpartner.Abteilung == 'Buchhaltung' and jtlAnsprechpartner.EMail != empty -%}
        {% assign mail = jtlAnsprechpartner.EMail %}
    {% endif %}
{% endfor -%}
{% if mail == empty -%}
    {% assign mail = Vorgang.Kunde.EMail -%}
{%endif-%}
{{ mail }}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Wo verändere ich die Variable #firma.name# die in Mail-Vorlagen zu finden ist? Allgemeine Fragen zu JTL-Shop 2
Neu E-Mail-Versand Allgemeine Fragen zu JTL-POS 0
Gelöst Workflow - Seriennummer per Mail versenden JTL-Workflows - Fehler und Bugs 1
Neu Kundensupport Projekt (Mail + eBay + Amazon + JTL + KI) Dienstleistung, Jobs und Ähnliches 0
In Diskussion Warnung per Mail wenn Paket seit x Tagen in Filiale zu Abholung (DHL Sendungsverfolgung) Track&Trace JTL-Workflows - Ideen, Lob und Kritik 6
Dropshipping-Trackingnummer erzeugt keine Versandbenachrichtigung per E-Mail JTL-Wawi 1.8 5
Neu Exchange Konto kann nicht eingerichtet werden für E-Mail Versand User helfen Usern - Fragen zu JTL-Wawi 2
Mail geht an Rechnungsmail satt an Liefermail JTL-Wawi 1.11 1
Neu Wokflow alle Sendenummer in eine Mail User helfen Usern - Fragen zu JTL-Wawi 2
Kundennummer wird in E-Mail-Bestellung nicht angezeigt JTL-Wawi 1.10 0
Neu Bestellung per Mail, Kunde registriert sich im Nachgang, Bestellung nicht im Kundenkonto User helfen Usern - Fragen zu JTL-Wawi 2
Neu ebay Angebote Vorlagen im Artikel JTL Ameise - Eigene Exporte 0
Ameisen-Vorlagen Attribute und Eigene Felder lassen sich nicht speichern JTL-Wawi 1.11 2
Falsche Vorlagen Dateien werden verwendet JTL-Wawi 1.7 0
Neu Eigene Umsatzsteuer-ID fehlt oft in Aufträgen JTL-Wawi - Fehler und Bugs 3
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Ameise: Eigene Exporte umbenennen? JTL-Wawi 1.8 6
Neu eigene Felder Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 5
Neu Händlerartikelnummer druch eigene im Auftrag ersetzen User helfen Usern - Fragen zu JTL-Wawi 0
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu wie Wawi eigene Felder (Kunden) an Shop DB übertragen? User helfen Usern - Fragen zu JTL-Wawi 3
JTL Wawi App eigene Statistiken erscheinen nicht JTL-Wawi App 0

Ähnliche Themen