0

SendMail - Abfangen bei fehler E-Mail Versand

Hallo zusammen,

vielleicht hat hier jemand eine Idee. Wir wollen unseren Monteuren die Ninox APPs mit auf dem Weg geben damit diese digital die Arbeitsberichte erfassen könne.
Im Formular gibt es einen Button zum E-Mail Versand damit der Kunde seinen Arbeitsschein direkt bekommt. Beim drücken des Buttons wird die E-Mail verschickt und das Auswahlfeld auf Status "Verschickt" gesetzt.

Falls der Monteur aktuell kein Internet hat, kommt bei der sendMail eine Nachricht dass der E-Mail Versand nicht geht weil der Server nicht erreichbar ist. Das Skript läuft dann aber normal weiter und setzt uns dann irrtümlich das Auswahlfeld auf "Verschickt"
Diesen Errorfall würde ich gerne mit einem IF abfangen um z.B. einen anderen Status in einen Auswahlfeld zu setzen wie z.B. ("Noch nicht verschickt, OFFLINE")

Wäre das möglich? Anbei einmal mein aktueller Code.

 

let result := dialog("E-Mailversand", "Soll der Arbeitsschein verschickt werden?", ["Ja", "Nein"]);
if result = "Ja" then
if Ansprechpartner.Name and 'Unterschrift ja / nein' = true and 'Kundenunterschrift (Unterzeichner angeben!)' = null then
alert("Ansprechpartner auswählen / Unterschrift vergessen!")
else
let myFile := importFile(this, printAndSaveRecord(this, "Arbeitsschein"), "Arbeitsschein" + Arbeitsscheinnummer + ".pdf");
let mybelehrung := importFile(this, printAndSaveRecord(this, "AGB"), "AGB" + ".pdf");
Status = sendEmail({
from: "test@mytest.test",
to: 'E-Mail Empfänger',
cc: "test@mytest.test" + ";" + 'E-Mail Empfänger KOPIE',
subject: "Arbeitsschein" + Arbeitsscheinnummer + " " + Kunden.Name,
text: "Arbeitsschein ",
html: "Test",
attachments: [myFile, mybelehrung]
});
Status := "Verschickt"
end

2 Antworten

null
    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michele,

    in der App sollte es mit der neuen Funktion waitForSync() klappen. Wenn keine Verbindung zum Server besteht, gibt die Funktion die Antwort "false" zurück.

    ---

    if waitForSync() then 

    DEIN SCRIPT

    else

    alert ("Die Anwendung ist offline");

    Status := "Noch nicht verschickt, OFFLINE"

    end

    ---

    Leo

    • WMZ GmbH
    • Michele_Urhan
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Funktioniert wunderbar, vielen Dank für die schnelle Rückmeldung! :)