do as transaction oder do as deferred ?
let title := "Sammel E-Mail an alle versenden?";
let message := "Möchtest du wirklich alle Verkäufer anschreiben?
Der Vorgang dauert einige Sekunden.";
let answerOptions := ["Ja, ich möchte alle anschreiben", "Nein"];
if dialog(title, message, answerOptions) = "Ja, ich möchte alle anschreiben" then
for i in select 'Aufbewahrung XXX-Verträge' do
i.if 'Fzg. zugelassen?' = 1 and 'an Bank versendet?' = 2 and 'Eingang Bankunterlagen' = 2 and
(days('Letzte Sammel E-Mail:', today()) > 4 or 'Letzte Sammel E-Mail:' = null) then
sendEmail({
from: "XXX",
to: 'Verkäufername'.'E-Mail',
replyTo: "XXX",
bcc: "XXX",
subject: "Bankunterlagen fehlen" + " / " + 'Eingabe VIN' + " / " + Kundenname,
text: "XXX",
html: "XXX"
});
'Letzte Sammel E-Mail:' := now()
end;
void
end
end
Guten Tag zusammen,
ich benötige euer Schwarmwissen bezüglich des oben genannten Codes. Was wäre besser anzuwenden: "do as deferred" oder "do as transaction"? Wo genau liegen die Unterschiede? Ich habe bemerkt, dass der oben genannte Code mehrere Transaktionen ausführt. Dies habe ich im Prozessmonitor festgestellt. Zudem habe ich beobachtet, dass "do as deferred" nur eine Aktion startet, die der Anwender in der Maske nicht sieht (es gibt keinen ladekreis). Bei "do as transaction" kommt ebenfalls nur eine Aktion, die der Anwender jedoch in Form eines drehenden Kreises sieht.
Allerdings habe ich auch in der Dokumentation gelesen, dass "do as deferred" nur bei "lesenden" Aktionen angewendet werden soll. Das verstehe ich leider nicht ganz.
Liebe Grüße,
Martin
3 Antworten
-
*Push*
Kennt sich hier jemand aus?
-
Entgegen der Dokumentation kann man 'do es deferred' auch bei schreibenden Transaktionen verwenden. 'do as deferred' bearbeitet die Transaktionen nachrangig. Das bedeutet, dass man in Ninox schon weiter arbeiten kann, obwohl die Transaktion noch nicht zu Ende ausgeführt ist. Man kann es verwenden, wenn es sich nicht um zeitkritische Aktionen handelt, die eine sofortige Aktualisierung des Datenbestandes erforderlich machen.
In obigen Script wird ja auch eine schreibende Aktion durchgeführt:'Letzte Sammel E-Mail:' := now()
Wie wichtig ist für den internen Arbeitsprozess die Aktualisierung dieses Feldes?
Muss es sofort irgendwo weiter verwendet werden?
Daran würde ich die Verwendung fest machen.
Content aside
- vor 3 MonatenZuletzt aktiv
- 3Antworten
- 71Ansichten
-
2
Folge bereits