Einleitung
Die E-Mail-Aktivierungen definieren, welche Datensätze von welcher Tabelle mit einer E-Mail-Vorlage verschickt werden dürfen. Für die Verwendung von dynamischen Platzhaltern wird hier ausserdem definiert, wie diese ermittelt werden sollen.
Oberfläche
Die Benutzeroberfläche besteht aus folgenden Komponenten:

- Mailaktivierung
Das Auswahlfeld für die Selektion einer bestehenden Aktivierung. Mit den dahinter liegenden Buttons können eine neue Aktivierung erstellt, die ausgewählte Aktivierung dupliziert, die ausgewählte Aktivierung gelöscht oder die Änderungen an der ausgewählten Aktivierung gespeichert werden. - Bezeichnung
Die Bezeichnung der Aktivierung. - Tabelle
Das Auswahlfeld für die gewünschte Tabelle, woraus es möglich sein soll, E-Mails zu verschicken. - Einschränkung
Optional kann zusätzlich zur Selektion einer Tabelle eine Einschränkung definiert werden, damit die Aktivierung nicht für sämtliche Datensätze der Tabelle gilt, sondern nur für diejenigen, welche auf die Einschränkung zutreffen. Die Syntax der Einschränkung entspricht einem ORDA Query auf die ausgewählte Tabelle. - Attribute
Diese Tabelle beinhaltet sämtliche Plathhalter (Spalte "Attribut Mail"), welche später in einer E-Mail-Vorlage mit dieser Aktivierung verwendet werden können. In der Spalte "Feld (Formel)" geben Sie die Formel ein, womit der Wert des Platzhalters ermittelt werden kann. Über das Objekt e_Entity können Sie innerhalb der Formel auf die Entity des aktuellen Datensatzes zugreifen.
Die Buttons hinter der Tabelle ermöglichen das Erstellen einer neuen Zeile, das Duplizieren der selektierten Zeile, das Löschen der selektierten Zeile oder das Importieren der Standard-Attribute für die ausgewählte Tabelle. - Spalte übernehmen
Dieses Auswahlfeld listet zur Hilfe sämtliche Spalten der ausgewählten Tabelle auf. Die Bezeichnung einer Spalte kann mittels Klick in die Formel eines Attributs übernommen werden.
Pflichtattribute
Folgende Attribute müssen zwingend vorhanden sein, sofern der E-Mail-Versand ohne manuelle Bearbeitung möglich sein soll:
- AbsenderMail
Dieses Attribut definiert, mit welcher E-Mail-Adresse als Absender die Nachricht verschickt wird. - SpracheID
Über dieses Attribut wird die Sprache ermittelt, in welcher die E-Mail verschickt werden soll. - EmpfaengerMail
Dieses Attribut definiert die E-Mail-Adresse des Empfängers der Nachricht.
Weitere Attribute:
| Attribut | Formel |
|---|---|
| Auftragsdossierkürzel | e_Entity.y1_ToAuftragsdossier.s_Kuerzel |
Falls Übersetzungen von Attributen verwendet werden sollen, kann man ein Attribut für das benötigte Sprachkürzel erfassen.
| Attribut Mail | Formel |
|---|---|
| SprachKrzl | e_Entity.r_Adresse_32_i_ID.r_Korrespondenzsprache_65_i_ID.s_Sprachkuerzel |
Um Formeln wie den Report-Dateinamen zu vereinfachen ist es zudem empfehlenswert gewisse Übersetzungen direkt in der Aktivierung zu hinterlegen e.g.:
| Attribut Mail | Formel |
|---|---|
| BelegTypÜbersetzt | PRM_Uebersetzung (e_Entity.s_Belegtyp;e_Entity.r_Adresse_32_i_ID.r_Korrespondenzsprache_65_i_ID.s_Sprachkuerzel) |
| Mahnungübersetzt | PRM_Uebersetzung ("Mahnung";e_Entity.r_Adresse_32_i_ID.r_Korrespondenzsprache_65_i_ID.s_Sprachkuerzel) |
| ... | ... |
Dabei wird innerhalb den Klammern an der ersten Position die Formel für den Wert definiert(dies kann auch einen fixen Text sein). An der zweiten Stelle muss die Formel für das Sprachkürzel definiert sein.
Da dies alles auf der selben Ebene ist, kann man nicht auf die Attribute selbst zurückgreiffen, sondern muss immer dessen Formel wieder verwenden um komplexere Dinge, wie eben die Übersetzung, zu erreichen.
Formel um Personeninformationen für den User, welcher eingeloggt ist, zu laden;
| Attribut Mail | Formel |
|---|---|
| PersonEmail | ds.s0_Person.get(<>l_User_Person_ID).i_ID_80_m_Person.query("s_Verbindungstyp = 'Email'").first().s_Nummer |
| PersonTeldi | ds.s0_Person.get(<>l_User_Person_ID).i_ID_80_m_Person.query("f_Boolsch__1 = 'true'").first().s_Nummer |
| PersonVorname | IsNull (OB Get(IsNull (ds.s0_Person.get(<>l_User_Person_ID);New object);"s_Vorname");"";"";" ")+IsNull (OB Get(IsNull (ds.s0_Mitarbeiter.get(<>l_MA_ID);New object);"s_Nachname");"") |
| PersonNachname | IsNull (OB Get(IsNull (ds.s0_Person.get(<>l_User_Person_ID);New object);"s_Nachname");"";"";" ")+IsNull (OB Get(IsNull (ds.s0_Mitarbeiter.get(<>l_MA_ID);New object);"s_Nachname");"") |
| PersonEmailBoss | ds.s0_Person.get(<>l_User_Person_ID).i_ID_80_m_Person.query("s_Email__Workflow= 'true'").first().s_Nummer |
Tabelle auf Fon/Fax/Mail:

Email anhand von Kontakt im Feld "Ihr Sachbearbeiter"
| Attribut Mail | Formel |
|---|---|
| EmpfaengerMail | IsNull(ds.s0_Person.get(e_Entity.x_Ihr__Sachbearbeiter); ds.s0_Person.newSelection()).i_ID_80_m_Person.query("s_Verbindungstyp = :1 AND s_Email__Bestellungen = :2"; "Email"; True).s_Nummer.join("; ") |