-
RE: Indexfeld "Tabelle" als String-Kette in neues Indexfeld "Textfeld" kopieren
Hallo Oliver,
mittels dem AusdruckKeywordAsString()
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 VariableGV_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 AusdruckCount()
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 -
RE: nächst höhere ID ermitteln
Einfach folgendes Query bei der WHERE Klausel eintragen:DW_DWDOCID = (SELECT MIN(DW_DWDOCID) FROM [DOKUMENTE] WHERE DW_ART = 'Zeiterfassung' AND DW_MITARBEITER = 'GV_Mitarbeiter' AND DW_DWDOCID > 'GV_DocIDAktuell')
[DOKUMENTE]
muss entsprechend mit dem Namen der Archiv-Haupttabelle angepasst werden. -
RE: nächst höhere ID ermitteln
Vielen Dank für das Feedback und die Lösung!
Bzgl. der vorherigen Frage: Ein Sub-Select wie von mir beschrieben, ist im Workflow Designer für die WHERE Klausel möglich.
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: nächst höhere ID ermitteln
Hallo Oliver,
um die nächst höhere DOCID zu erhalten würde ich ein Subquery in Verbindung mit der SQL FunktionMIN()
nutzen.
WHERE Klausel:DW_DWDOCID = (SELECT MIN(DW_DWDOCID) FROM [DOKUMENTE] WHERE DW_ART = 'Zeiterfassung' AND DW_MITARBEITER = 'GV_Mitarbeiter' AND DW_DWDOCID > 'GV_DocIDAktuell')
DurchMIN()
erhält man die kleinsteDWDOCID
der Abfrage. Diese sollte entsprechend die nächst höhere sein.
[DOKUMENTE]
muss entsprechend mit dem Namen der Archiv-Haupttabelle angepasst werden.
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: Get array from rest webservice in workflow designer
Hi Mayra,
in the Data Assign tab, try to manually replace the index by an asterisk "*", like this:
$.approversList[*].username
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: IIS home page redirection
Hi Carlos,
I have found that what you want is not possible with the Redirect module. You need to use the URL rewrite module in IIS.
If it is not available, you have to first download and install it from here: https://www.iis.net/downloads/microsoft/url-rewrite
Afterwards, use this code in your wwwroot web.config to redirect the requests:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect to DocuWare" stopProcessing="true"> <match url="^DocuWare$|^DocuWare/(.*)$" negate="true" /> <action type="Redirect" url="/DocuWare" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
It uses the regular expression^DocuWare$|^DocuWare/(.*)$
to check the URL.
All requests that do not match this expression will be redirected to/DocuWare
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: IIS home page redirection
Hi Carlos,
try:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpRedirect enabled="true" destination="/DocuWare" exactDestination="true" childOnly="true" /> </system.webServer> </configuration>
This will redirect https://example/12345 to https://example/DocuWare
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH
-
RE: iif Anweisung als Validierung im Workflowdesigner
Die IIf Funktion ist folgendermaßen aufgebaut:IIf(expr, truepart, falsepart)
- expr: Der zu bewertende Ausdruck.
- truepart: Zurückgegebener Wert oder Ausdruck, wenn exprTrue ist.
- falsepart: Zurückgegebener Wert oder Ausdruck, wenn exprFalse ist.
Der Code lautet entsprechend:
IIf(
(Posteingang_Dokumententyp LIKE "*Vertrag*"),
(LEN(Posteingang_Vertragsgeber) > 0 AND LEN(CStr(Posteingang_Vertrag_gültig_ab)) > 0 AND LEN(Posteingang_Vertragsnehmer) >0),
true)
And
IIf(
(Posteingang_Dokumententyp LIKE "*Bericht*"),
(LEN(CStr(Posteingang_Ausführungsdatum_Bericht)) > 0),
true)
Wenn wir uns die erste IIf Funktion genauer ansehen, dann ist folgendes definiert:- expr:
Posteingang_Dokumententyp LIKE "*Vertrag*"
- truepart:
(LEN(Posteingang_Vertragsgeber) > 0 AND LEN(CStr(Posteingang_Vertrag_gültig_ab)) > 0 AND LEN(Posteingang_Vertragsnehmer) >0)
- falsepart:
true
Als truepart, prüfen wir ob die Länge aller drei Felder größer 0 ist. Die FunktionLEN()
gibt automatischtrue
bzw.false
zurück.
Als falsepart geben wir direkttrue
zurück.
Durch den Rückgabewert wird der Validierung signalisiert, ob die eingegebenen Werte gültig (true
) bzw. ungültig (false
) sind.
Codeblock zum Kopieren:iif((Posteingang_Dokumententyp LIKE "*Vertrag*"),(LEN(Posteingang_Vertragsgeber) > 0 AND LEN(CStr(Posteingang_Vertrag_gültig_ab)) > 0 AND LEN(Posteingang_Vertragsnehmer) >0),true) AND iif((Posteingang_Dokumententyp LIKE "*Bericht*"),(LEN(CStr(Posteingang_Ausführungsdatum_Bericht)) > 0),true)
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: höchste DocID ausgeben (via arethmetischen Ausdruck)
Hallo Oliver,
ab Version 7.9 kann man die Werte innerhalb einer Stichwort Variable anhand vonOrder()
undOrderDescending()
sortieren.
Den höchsten Wert kann man sich folgendermaßen ausgeben lassen:
GV_OEMNDocIDStichwort.Order()(UBound(GV_OEMNDocIDStichwort))
- Durch Order() werden die Inhalte der Stichwort Variable aufsteigend sortiert, z.B. aus {7090,7101,7077} wird {7077,7090,7101}
- UBound() gibt den höchsten Index der Liste zurück, in meinem Beispiel: "2"
Daraus ergibt sich:GV_OEMNDocIDStichwort.Order()(2)
> "7101"
Alternativ kann man es auch andersherum machen:
GV_OEMNDocIDStichwort.OrderDescending()(LBound(GV_OEMNDocIDStichwort))
- Durch Order() werden die Inhalte der Stichwort Variable absteigend sortiert, z.B. aus {7090,7101,7077} wird {7101,7090,7077}
- LBound() gibt den niedrigsten Index der Liste zurück, in meinem Beispiel: "0"
Daraus ergibt sich:GV_OEMNDocIDStichwort.OrderDescending()(0)
> "7101"
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH -
RE: iif Anweisung als Validierung im Workflowdesigner
Hallo Oliver,
der Ausdruck sollte enstprechend folgendermaßen lauten:
iif((Dokumententyp_ LIKE "*Vertrag*"), (LEN(Vertragsgeber__)>0 AND LEN(CStr(Vertragsbeginn__))>0), LEN(Vertragsgeber__)>=0 AND LEN(CStr(Vertragsbeginn__))>=0)
Viele Grüße / With best regards,
--
Gerardo Lisanti
Team Leader Product Management | DocuWare GmbH