Mehrere E-Mail Adressen hinterlegen?

Martin1977

Gut bekanntes Mitglied
1. August 2023
273
50
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
257
51
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
257
51
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.
 

Martin1977

Gut bekanntes Mitglied
1. August 2023
273
50
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
257
51
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
257
51
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

Gut bekanntes Mitglied
1. August 2023
273
50
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
229
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
257
51
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

Gut bekanntes Mitglied
1. August 2023
273
50
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
Lieferantenbestellung an mehrere E-Mail adressen gleichzeitig zu senden JTL-Wawi 1.9 0
Zahlungsabgleich Konto anbinden mehrere Zugänge JTL-Wawi 1.9 0
Neu Mehrere Artikelnummern, wo hinterlegen? Allgemeine Fragen zu JTL-Shop 4
Mehrere Rechnungskorrekturen auf eine Rechnung JTL-Wawi 1.7 9
Neu Mehrere Kindartikel nebeneinander auf Vorlage anordnen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu SW 6, mehrere Verkaufskanäle, Verkäufe alle einer Firma im JTL zugeordnet Shopware-Connector 6
Neu Aufteilung einer Sendung auf mehrere Lieferscheine für die Schweiz User helfen Usern - Fragen zu JTL-Wawi 0
Neu Custom Workflow: Prüfung, ob mehrere Artikel in einem Auftrag sind User helfen Usern - Fragen zu JTL-Wawi 2
Neu Mehrere DHL Versenden 3.0 Instanzen mit unterschiedlichen Accounts möglich? JTL-ShippingLabels - Ideen, Lob und Kritik 3
Zentraler Medien-Ordner für mehrere Shops unter subdomain Einrichtung JTL-Shop5 0
Mehrere SQL Server JTL-Wawi 1.9 6
Beantwortet Workflow: Zahlungserinnerung aus dem JTL Guid, versendet beim Testen mehr als nur 1 E-Mail JTL-Workflows - Fehler und Bugs 2
Neu Absender in der E-Mail Vorlage fest hinterlegen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
E-Mail-Vorlage bleibt immer auf Deutsch trotz englischer Mailvorlage JTL-Wawi 1.9 0
Neu Freifeld E-Mail Feld als benutzerdefinierten Empfänger in die Emailvorlage User helfen Usern - Fragen zu JTL-Wawi 2
Neu Produktbilder in Mail-Vorlagen einfügen User helfen Usern - Fragen zu JTL-Wawi 2
E-Mail Vorlage Zahlungsbestätigung benutzerdefinierter Empfänger Ansprechpartner JTL-Wawi 1.9 4
E-Mail Benachrichtigung bei bestimmter Zahlungsweise verbieten JTL-Wawi 1.9 2
Neu Einem Kunden eine Rechnung mit individuellem Betreff per E-Mail zusenden User helfen Usern - Fragen zu JTL-Wawi 2
Neu Bon automatisch per Mail Allgemeine Fragen zu JTL-POS 0
Neu JTL Shop 5 Mail Vorlagen anpassen Allgemeine Fragen zu JTL-Shop 1
Neu PDF Datei automatisch herunterladen und per E-Mail versenden Arbeitsabläufe in JTL-Wawi 1
In Diskussion JTL Wawi Workflow: Automatische Etikettenerstellung und E-Mail-Versand JTL-Workflows - Ideen, Lob und Kritik 10
In Bearbeitung Gmail Anbindung zu POS weg, bei Mail-Einrichtung zeigt er Fehler "10:" Einrichtung / Updates von JTL-POS 4
Neu Bewertungserinnerung nach Artikelkauf - Mail wird mehrfach an Kunden versendet Betrieb / Pflege von JTL-Shop 1
Neu Vorlage Mail an DHL mit - Sendungsnummer im Betreff User helfen Usern - Fragen zu JTL-Wawi 5
Neu UK, USA, FR, CA Adressen. hausnummer vor dem Straßennamen. Wie einrichten? Allgemeine Fragen zu JTL-Shop 0

Ähnliche Themen