Veröffentlicht Fri, 26 Jul 2024 07:37:32 GMT von Gregor Schütte
Hallo zusammen,

wir haben derzeit einen Workflow, über den etwas bestellt werden kann. Der externe gibt dabei über ein Formular die Menge und das gewünschte Abholdatum an. Die Abholung soll nur an 2 bestimmten Wochentagen und mit 3 Tagen Bearbeitungszeit möglich sein. Wir haben eine Abfrage die das überprüfen kann und dementsprechend 2 verschiedene Bestätigungsmails raus sendet. (Einmal einfach um das Datum zu bestätigen, einmal um die Bestellung zu bestätigen aber darauf hinzuweisen, dass die Abholung am gewünschten Tag nicht verfügbar ist und die Bestellung am nächsten gültigen Tag abgeholt werden kann.)
Für diese zweite Mail hätten wir noch gerne eine Variable die das nächste gültige Datum angibt. Beispielsweise sollen Abholungen nur Dienstag und Freitags möglich sein. Wie können wir also eine Variable erstellen die von einem Datum aus den nächsten Tag errechnet der ein Dienstag oder Freitag ist UND mindestens 3 Tage entfernt ist.

Danke für die Hilfe
Veröffentlicht Sat, 03 Aug 2024 00:00:37 GMT von Matthias Wieland Senior Director Support EMEA
Guten Tag Gregor Schütte! Leider sieht es so aus, dass die Community diese Frage nicht beantworten kann. Wir haben deshalb eine neue Supportanfrage mit der Nummer SR-236469-B3N2Z für Sie eröffnet. Ein Software Support Specialist wird sich direkt bei Ihnen melden, um diese Anfrage zu beantworten. Wir werden die Lösung der Anfrage hier veröffentlichen, sobald diese abgeschlossen ist. Mit freundlichen Grüßen DocuWare Support Team
Veröffentlicht Tue, 06 Aug 2024 13:23:22 GMT von Gerardo Lisanti Team Leader Product Management
Hallo Gregor,

ich denke du kannst das mit einem verschachtelten IIf() Ausdruck lösen, in dem du den Wochentag des Eingabe Datums prüfst Weekday() und entsprechend die Tage bis zum nächstmöglichen Datum addierst.

Der Ausdruck um herauszufinden wie viele Tage du addieren musst (AnzahlTage) ist:
IIf(Weekday(DW_DUE_DATE) = 1, 5, IIf(Weekday(DW_DUE_DATE) = 2, 4, IIf(Weekday(DW_DUE_DATE) = 3, 3, IIf(Weekday(DW_DUE_DATE) = 4, 6, IIf(Weekday(DW_DUE_DATE) = 5, 5, IIf(Weekday(DW_DUE_DATE) = 6, 4, IIf(Weekday(DW_DUE_DATE) = 7, 3, 0)))))))

Erklärung:
IIf(Weekday(DW_DATUM) = 1, 5,                        //1 Sonntag - 5 Tage addieren > nächster Freitag
 IIf(Weekday(DW_DATUM) = 2, 4,                       //2 Montag - 4 addieren > nächster Freitag
  IIf(Weekday(DW_DATUM) = 3, 3,                      //3 Dienstag - 3 Tage addieren > nächster Freitag
   IIf(Weekday(DW_DATUM) = 4, 6,                     //4 Mittwoch - 6 Tage addieren > nächster Dienstag
    IIf(Weekday(DW_DATUM) = 5, 5,                    //5 Donnerstag - 5 Tage addieren > nächster Dienstag
     IIf(Weekday(DW_DATUM) = 6, 4,                   //6 Freitag - 4 Tage addieren > nächster Dienstag
      IIf(Weekday(DW_DATUM) = 7, 3, 0)))))))       //7 Samstag - 3 Tage addieren > nächster Dienstag

Anschließend berechnest du das neue Datum mit .AddDays():
DW_DATUM.AddDays(AnzahlTage)

Somit kannst du eine Variable erstellen die von einem Datum aus, den nächsten Tag errechnet der ein Dienstag oder Freitag ist UND mindestens 3 Tage entfernt ist.

Der zusammengefügter Ausdruck (herausfinden und addieren) sollte so aussehen:
DW_DATUM.AddDays(IIf(Weekday(DW_DATUM) = 1, 5, IIf(Weekday(DW_DATUM) = 2, 4, IIf(Weekday(DW_DATUM) = 3, 3, IIf(Weekday(DW_DATUM) = 4, 6, IIf(Weekday(DW_DATUM) = 5, 5, IIf(Weekday(DW_DATUM) = 6, 4, IIf(Weekday(DW_DATUM) = 7, 3, 0))))))))


Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management  |  DocuWare GmbH

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.