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
Hi Thomas,
yes it is possible. Select the endpoint:
PUT /FileCabinets/{TrayId/FileCabinetId}/ Operations/
ProcessDocumentAction?docId={DocId}
Then in the HTTP Body use following body:
{
"DocumentAction": "Append",
"DocumentActionParameters": {
"$type": "AppendActionParameters",
"RemoveSourceDocuments": false,
"DocumentsInFront": [],
"DocumentsAtBack": [
{
"SourceCabinetId": "ae156510-ffa8-48b1-a3ec-baec3180669c",
"Documents": [
123456
]
}
]
}
}
This will append (clip) the document with ID
123456
from file cabinet
ae156510-ffa8-48b1-a3ec-baec3180669c
, to the target document document, specified in the URL (route and query).
If you want to append the document before the target document, move the information from the
"DocumentsAtBack"
to the
"DocumentsInFront"
parameter. To append multiple documents, specify the DocIDs delimited by a comma, e.g.:
123456,123457
You'll find this information also in our
Knowledge Center (docuware.com)
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH
Hallo Oliver,
mittels dem Ausdruck KeywordAsString()
kann man die Inhalte von Text-Spaltes zusammenfügen.
Beispiel:
KeywordAsString(DW_ABGRENZUNGEN[ABGRE_ART])
Ergebnis:
Grundsteuer,Niederschlagswasser,Entwässerung,Entwässerung
Grundsätzlich kann man anhand dem Index den Wert einer Spalte für die jeweilige Zeile herausziehen.
Dabei ist der Index für die Zeile 1 (0)
, für Zeile 2 (1)
, etc.
Beispiel:
DW_ABGRENZUNGEN[ABGRE_ART](0)&" - "&DW_ABGRENZUNGEN[ABGRE_BETRAG](0)
Ergebnis:
Grundsteuer - 245,12
Kombiniert mit einem Loop, der den Index hochzählt (z.B. globale Variable GV_Index
) kann man so die Werte pro Zeile zusammenfügen:
DW_TEXT&DW_ABGRENZUNGEN[ABGRE_ART](GV_Index)&" - "&DW_ABGRENZUNGEN[ABGRE_BETRAG](GV_Index)&"|"
Ergebnis:
Grundsteuer - 245,12|Niederschlagswasser - 123,00|Entwässerung - 425,33|Entwässerung - 123,65|
Um aus dem Loop auszusteigen, vergleicht man am besten in einer Bedingung ob der verarbeitete Index gleich der Anzahl der Zeilen ist.
Mit dem Ausdruck Count()
kann man die Anzahl der Zeilen ermitteln. Davon zieht man 1 ab, da der Index bei 0 und nicht 1 startet:
GV_Index = Count(DW_ABGRENZUNGEN[ABGRE_ART])-1
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH