Mehrere E-Mail Adressen hinterlegen?

Martin1977

Sehr aktives Mitglied
1. August 2023
469
96
Hi,

sagt mal, habt ihr nun auch vermehrt das Problem dass man nun öfters verschiedene E-Mail Adressen pro Kunde hinterlegen muss? Es kommen ja immer mehr Wünsche wie, Rechnungen bitte zukünftig an rechnung@domain.de aber schicken Sie mir bitte weiterhin die AB an meine Adresse zu.

Ich frage mich, wie ich das sauber umsetzen kann, ich dachte erst an ein eigenes Feld ala "Rechnung E-Mail Adresse", aber dann wird es sicherlich kompliziert mit dem automatischen Rechnungsversand per Workflow, oder?

Daher meine Frage, wie löst ihr das?
 

Steffen80

Sehr aktives Mitglied
27. August 2012
398
86
Genau so machen wir das auch.

Abfrage findet bei uns in den Druck/Mailvorlagen >> Empfänger statt

Wenn Feld X bei Kundenstammdaten gefüllt sende dahin ansonsten Mailadresse aus Auftrag...
 

Steffen80

Sehr aktives Mitglied
27. August 2012
398
86
Wenn Du nur ein Feld mit einer Mailadresse bei den Eigenen Feldern in den Kundendaten hast kannst unseren Code probieren:

Code:
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}','' %}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1 ,'' -%}\
{% assign Mail3 = Mail2 | Split: '|' %}\
{% if Vorgang.Kunde.EigeneFelderAlsText contains '@' -%}\
{{Mail3}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}

Geht Sicher eleganter mit SQL aber funktioniert momentan für uns.
 
  • Gefällt mir
Reaktionen: ongnamo

Martin1977

Sehr aktives Mitglied
1. August 2023
469
96
Vielen Dank, wird mal direkt getestet.

Vorgang.Kunde.EigeneFelderAlsText

Das ist dein benanntes Feld für die E-Mail Adresse richtig? Da muss ich nur auf die korrekte Bezeichnung achten und entsprechend anpassen
 

Steffen80

Sehr aktives Mitglied
27. August 2012
398
86
Vorgang.Kunde.EigeneFelderAlsText
ist eine Variable die Dir alle Eigenen Felder beim Kunden als Text getrennt durch | ausgibt

Code funktioniert nur wenn hier nur einmal das @ Zeichen vorkommt
Gruppenname und Feldname ist dabei egal bei uns heißt es
E-Rechnung > E-Rechnung Datentyp E-Mail (Anzulegen unter Admin > Eigene Felder > Kundenbereich)

Mail1 Der Code macht folgendes er sucht nach einer Mailadresse in den Eigenen Felder und löscht diese
Mail2 löscht alle anderen Eigenen Felder (Inhalt von Mail1) und behält die Mailadresse mit den Trennzeichen
Mail3 löscht die Trennzeichen so daß eine Mailadresse übrigbleibt

Dann die Prüfung ob die Eigenen Felder eine Mailadresse (@) enthalten.
Falls ja gibt er Mail3 aus ansosnten die im Auftrag > Rechnungasdresse hinterlegte Mailadresse

Einfach im Editor ausprobieren indem du dir die Variablen ausgeben lässt
 

Steffen80

Sehr aktives Mitglied
27. August 2012
398
86
Hab nen bissel gebastelt und den Code erweitert, so dass auch mehere EmailFelder kein Problem sind und Du den Namen frei wählen kannst.
Bei uns heißt das Feld E-Rechnung
Ganz oben Deinen Feldnamen eintragen
Groß/Kleinschreibung beachten


Felder sind als Eigene Felder unter Kunden angelegt (Datentyp Email)

Bin kein DOTLIQUID Spezi und manche Dinge kann ich nicht nachvollziehen z.B das nach dem Kommando Split die Abfrage mit contains nach dem @ Zeichen scheitert...
Deswegen wird hier Mail3 abgefragt.
Sicher Verbesserungswürdig und ohne Gewähr aber funktioniert für uns
Code prüft ebenfalls ob es sich um eine gültige Mailadresse handelt, falls nicht wird die Mailadresse aus dem Auftrag genommen.

Hier der Code zum ausprobieren:

Code:
{% assign Feldname = 'E-Rechnung' %}\
{% comment-%}Name des Eigenen Feldes unter Kundenstammdaten{% endcomment -%}
{% assign Feldname = Feldname |Append:'='|Prepend:'.' %}\
{% assign Feldname2 = Feldname |Append:'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' %}\
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: Feldname2%}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1  -%}\
{% assign Mail3 = Mail2 | Replace: Feldname %}\
{% assign Mail4 = Mail3 | Split: '|' %}\
{% if Mail3 contains '@' -%}\
{{Mail4}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}
 
Zuletzt bearbeitet:

Martin1977

Sehr aktives Mitglied
1. August 2023
469
96
Vielen Dank Steffen, werde ich diese Woche, vielleicht morgen schon angehen und testen. Heute habe ich erst einmal JTL Vouchers an den Onlineshop angebunden.

Gibt ja immer was zu tun, wie Lego für Erwachsene :)
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
230
14
Hab nen bissel gebastelt und den Code erweitert, so dass auch mehere EmailFelder kein Problem sind und Du den Namen frei wählen kannst.
Bei uns heißt das Feld E-Rechnung
Ganz oben Deinen Feldnamen eintragen
Groß/Kleinschreibung beachten


Felder sind als Eigene Felder unter Kunden angelegt (Datentyp Email)

Bin kein DOTLIQUID Spezi und manche Dinge kann ich nicht nachvollziehen z.B das nach dem Kommando Split die Abfrage mit contains nach dem @ Zeichen scheitert...
Deswegen wird hier Mail3 abgefragt.
Sicher Verbesserungswürdig und ohne Gewähr aber funktioniert für uns
Code prüft ebenfalls ob es sich um eine gültige Mailadresse handelt, falls nicht wird die Mailadresse aus dem Auftrag genommen.

Hier der Code zum ausprobieren:

Code:
{% assign Feldname = 'E-Rechnung' %}\
{% comment-%}Name des Eigenen Feldes unter Kundenstammdaten{% endcomment -%}
{% assign Feldname = Feldname |Append:'='|Prepend:'.' %}\
{% assign Feldname2 = Feldname |Append:'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' %}\
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: Feldname2%}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1  -%}\
{% assign Mail3 = Mail2 | Replace: Feldname %}\
{% assign Mail4 = Mail3 | Split: '|' %}\
{% if Mail3 contains '@' -%}\
{{Mail4}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:

Code:
{% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0 
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'Mail_Angebot'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Vorgang.Auftrag.Rechnungsadresse.EMail}}
{% else %}
{{ MAIL_AN }}
{% endif %}
 

Steffen80

Sehr aktives Mitglied
27. August 2012
398
86
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:
Nein Vorlagen 2.0 ist ein Projekt was ich gerne vor mir herschiebe. Viel Arbeit die Vorlagen upzudaten.
Habe aber mal eben kurz geschaut und die Variable auch nicht gefunden.🤔 Ärgerlich...
Insofern bleibt dann nur SQL und hoffen das die Tabellen sich nicht ändern.
Damit habe ich mich aber noch nicht beschäftigt.
 

Martin1977

Sehr aktives Mitglied
1. August 2023
469
96
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:

Code:
{% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'Mail_Angebot'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Vorgang.Auftrag.Rechnungsadresse.EMail}}
{% else %}
{{ MAIL_AN }}
{% endif %}
Hi

ich habe es mit dieser Vorlage unter Vorlagen 2.0 soeben zum Laufen bekommen. Schon mal vielen Dank dafür, für Vorlagen 2.0 sieht es bei mir so aus, Mein eigenes Feld bei Kunden heißt "E-Rechnung". Also nur die Zeile



Code:
AND tAttributSprache.cName = 'E-Rechnung'

anpassen, dann passt es, ist das Feld E-Rechnung leer, nimmt er die Mail der Rechnungsadresse, das ist
Code:
{{ Report.InvoiceBillToAddress.EmailAddress }}


Code:
HTML clipboard {% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'E-Rechnung'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Report.InvoiceBillToAddress.EmailAddress }}
{% else %}
{{ MAIL_AN }}
{% endif %}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Steffen80
Ähnliche Themen
Titel Forum Antworten Datum
Neu Falscher E-Mail-Absender beim Arbeiten mit mehrere Firmen JTL-Wawi - Fehler und Bugs 0
Mehrere Artikel, aus mehreren Aufträgen in einer Retoure bearbeiten - How? JTL-Wawi 1.10 1
eigene mehrere Bankverbindungen - Zugferd Datei anpassen? JTL-Wawi 1.11 2
Neu Onpage Composer - Entwürfe auf mehrere Kinder/Varianten importieren Betrieb / Pflege von JTL-Shop 1
Neu Gutschein löst mehrere Lagerbuchungen aus JTL-POS - Fehler und Bugs 0
Kein E-Mail-Versand von Versandbestätigung und Zahlungsbestätigung JTL-Wawi 1.10 0
Kein e-Mail Versand aus der Wawi - Fehlermeldung JTL-Wawi 1.11 18
Neu Retoure Vorlage "Mail" abgeändert, jedoch wird Standard Formular versendet Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Kein E-Mail-Versand mit Anhängen möglich JTL-Wawi 1.11 21
Neu E-Mail Versandbestätigung wird an Amazon gesendet obwohl in den Einstellungen deaktiviert JTL-ShippingLabels - Fehler und Bugs 2
Neu E-Mail-Vorlagen HTTP 500 Error JTL-Shop - Fehler und Bugs 2
Neu E-Mail von DHL Abschaltung Geschäftskunden-Versand API GKV v3 zum 31.05.2026 Arbeitsabläufe in JTL-Wawi 10
Eigene Felder im Block "Firmen- und E-Mail Einstellungen verwalten" JTL-Wawi 1.10 3
Neu Alarm SMS/E-Mail wenn der Worker nicht läuft Allgemeines zu den JTL-Connectoren 2
Neu Kundenkonto mit mehreren Shop-eMail-Adressen User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen