Dynamische E-Mail-Verteiler mit "isNull" filtern
Verfasst: 13.02.2021, 19:29
Hallo zusammen,
ich habe ein Formular erstellt, welches die Personalabteilung ausfüllen muss, um einen Arbeitsvertrag zu erstellen.
Manche Personengruppen erhalten ein Firmenhandy oder Firmenwagen, manche Abteilungen haben auch einen Teamleiter.
Entsprechend sollten alle Abteilungen informiert werden, wenn der Arbeitsvertrag erstellt wurde. Dieser Personenkreis soll in CC genommen werden.
Insgesamt habe ich folgende Felder hier vorgesehen:
topmostSubform.Page0_Formular_PA.txtCC1 (Teamleiter)
topmostSubform.Page0_Formular_PA.txtCC2 (IT-Abteilung)
topmostSubform.Page0_Formular_PA.txtCC3 (Lohnbuchhaltung)
topmostSubform.Page0_Formular_PA.txtCC4 (Einkauf)
topmostSubform.Page0_Formular_PA.txtCC5 (Fuhrpark)
Ich habe folgende Optionsfelder im Formular erstellt:
Firmenwagen optJa / optNein
Handy optJa / optNein
Zusätzlich habe ein Dopdownfeld in diesem der Teamleiter evtl. mit ausgegeben wird. Nicht jeder Bereich hat einen Teamleiter.
Bis hierhin funktioniert auch alles bestens.
Beim Click-Event für die E-Mail benutze folgenden Code:
Zuerst hatte ich folgenden Verteiler:
Outlook konnte die leeren z.B. topmostSubform.Page0_Formular_PA.txtCC1.rawValue nicht aufrufen und es kam zum Fehler.
Deswegen habe ich im Formular ein weiteres Textfeld "txtCCGesamt" hinzugefügt. Ich wollte mit einer if;else if die leeren Felder filtern und nur die gefüllten Felder in das Textfeld "txtCCGesamt" schreiben. Leider funktioniert meine Abfrage nicht. Folgenden Code habe ich verwendet:
Wenn die folgenden Felder nicht null:
topmostSubform.Page0_Formular_PA.txtCC1 (Teamleiter)
topmostSubform.Page0_Formular_PA.txtCC4 (Einkauf)
topmostSubform.Page0_Formular_PA.txtCC5 (Fuhrpark)
sind funktioniert der Code. Sonst leider nicht.
Hat irgendwer eine Idee wie ich mein Problem lösen kann?
Zudem möchte ich auf einem Schaltfläche verzichten "E-Mail versenden", besteht die Möglichkeit die mit der Schaltfläche "Drucken" einzubindeln?
Für eure Hilfe wäre ich euch sehr dankbar.
VG
Mike
ich habe ein Formular erstellt, welches die Personalabteilung ausfüllen muss, um einen Arbeitsvertrag zu erstellen.
Manche Personengruppen erhalten ein Firmenhandy oder Firmenwagen, manche Abteilungen haben auch einen Teamleiter.
Entsprechend sollten alle Abteilungen informiert werden, wenn der Arbeitsvertrag erstellt wurde. Dieser Personenkreis soll in CC genommen werden.
Insgesamt habe ich folgende Felder hier vorgesehen:
topmostSubform.Page0_Formular_PA.txtCC1 (Teamleiter)
topmostSubform.Page0_Formular_PA.txtCC2 (IT-Abteilung)
topmostSubform.Page0_Formular_PA.txtCC3 (Lohnbuchhaltung)
topmostSubform.Page0_Formular_PA.txtCC4 (Einkauf)
topmostSubform.Page0_Formular_PA.txtCC5 (Fuhrpark)
Ich habe folgende Optionsfelder im Formular erstellt:
Firmenwagen optJa / optNein
Code: Alles auswählen
optJa == true
{
topmostSubform.Page0_Formular_PA.txtCC4 = 'Einkauf@abc.de';
topmostSubform.Page0_Formular_PA.txtCC5 = 'Fuhrpark@abc';
}
optNein == true
{
topmostSubform.Page0_Formular_PA.txtCC4 = '';
topmostSubform.Page0_Formular_PA.txtCC5 = '';
}
Code: Alles auswählen
optJa == true
{
topmostSubform.Page0_Formular_PA.txtCC4 = 'Einkauf@abc.de';
}
optNein == true
{
topmostSubform.Page0_Formular_PA.txtCC4 = '';
}
Code: Alles auswählen
if (this.rawValue == 'Abrechnungscontrolling')
{
topmostSubform.Page0_Formular_PA.txtCC1 = 'Max.Mustermann@abc.de';
}
else if (this.rawValue == 'Personal')
{
topmostSubform.Page0_Formular_PA.txtCC1 = '';
}
Beim Click-Event für die E-Mail benutze folgenden Code:
Code: Alles auswählen
app.mailMsg({
bUI: false,
cTo: topmostSubform.Page0_Formular_PA.txtVGMail.rawValue,
cCc: topmostSubform.Page0_Formular_PA.txtCCGesamt.rawValue,
cBcc: '',
cSubject: 'Arbeitsvertrag für ' + topmostSubform.Page0_Formular_PA.txtAnrede.rawValue + ' ' + topmostSubform.Page0_Formular_PA.txtVorname.rawValue + ' ' + topmostSubform.Page0_Formular_PA.txtNachname.rawValue,
cMsg: topmostSubform.Page0_Formular_PA.txtVGAnrede.rawValue + ' ' + topmostSubform.Page0_Formular_PA.txtVGName.rawValue + ',\r\rdie Personalabteilung hat den Arbeitsvertrag für folgenden Mitarbeiter heute erstellt:\r\r' + topmostSubform.Page0_Formular_PA.txtAnrede.rawValue +'\r' + topmostSubform.Page0_Formular_PA.txtVorname.rawValue + ' ' + topmostSubform.Page0_Formular_PA.txtNachname.rawValue +'\r' + topmostSubform.Page0_Formular_PA.txtStrasseNr.rawValue + '\r' + topmostSubform.Page0_Formular_PA.txtPlzOrt.rawValue + '\rEintritt zum: ' + topmostSubform.Page0_Formular_PA.txtEintrittsdatum.formattedValue + ' als ' + topmostSubform.Page0_Formular_PA.txtStellenbezeichnung.rawValue,
}) ;
}
Code: Alles auswählen
cCc: topmostSubform.Page0_Formular_PA.txtCC1.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC5.rawValue,
Deswegen habe ich im Formular ein weiteres Textfeld "txtCCGesamt" hinzugefügt. Ich wollte mit einer if;else if die leeren Felder filtern und nur die gefüllten Felder in das Textfeld "txtCCGesamt" schreiben. Leider funktioniert meine Abfrage nicht. Folgenden Code habe ich verwendet:
Code: Alles auswählen
if ((topmostSubform.Page0_Formular_PA.txtCC1.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC4.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC5.rawValue.length > null))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC1.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';'+ topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC5.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.isNull && (topmostSubform.Page0_Formular_PA.txtCC4.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC5.rawValue.length > null))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';'+ topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC5.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC4.isNull && (topmostSubform.Page0_Formular_PA.txtCC5.rawValue.length > null))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC1.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';'+ topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC5.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.isNull) && (topmostSubform.Page0_Formular_PA.txtCC4.isNull) && (topmostSubform.Page0_Formular_PA.txtCC5.isNull))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';'+ topmostSubform.Page0_Formular_PA.txtCC3.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.isNull) && (topmostSubform.Page0_Formular_PA.txtCC4.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC5.isNull))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';'+ topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC4.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC5.isNull))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC1.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC3.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC4.rawValue;
}
else if ((topmostSubform.Page0_Formular_PA.txtCC1.rawValue.length > null) && (topmostSubform.Page0_Formular_PA.txtCC4.isNull) && (topmostSubform.Page0_Formular_PA.txtCC5.isNull))
{
topmostSubform.Page0_Formular_PA.txtCCGesamt = topmostSubform.Page0_Formular_PA.txtCC1.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC2.rawValue + ';' + topmostSubform.Page0_Formular_PA.txtCC3.rawValue;
}
Wenn die folgenden Felder nicht null:
topmostSubform.Page0_Formular_PA.txtCC1 (Teamleiter)
topmostSubform.Page0_Formular_PA.txtCC4 (Einkauf)
topmostSubform.Page0_Formular_PA.txtCC5 (Fuhrpark)
sind funktioniert der Code. Sonst leider nicht.
Hat irgendwer eine Idee wie ich mein Problem lösen kann?
Zudem möchte ich auf einem Schaltfläche verzichten "E-Mail versenden", besteht die Möglichkeit die mit der Schaltfläche "Drucken" einzubindeln?
Für eure Hilfe wäre ich euch sehr dankbar.
VG
Mike