• RE: Workflow Design / Task

    Hi Jagan,

    you need to assign all remaining items to keyword "Checklist" again. As Simon mentioned you can use the Filter() function in an aritmetic expression, to remove specific items. In other words you get the current content of keyword "Checklist", remove the value "Payment" and write the remaining items back to the keyword field.
    The syntax should look like this: Filter(DW_CHECKLIST,"Payment",false)

    For the condition you can user Count() to check the remaining items in the "Checklist" and send it back to the user, if it is not 0:
    The syntax should look like this: Count(DW_CHECKLIST)=0


    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Team Leader Product Management  |  DocuWare GmbH
  • RE: Condition of my workflow

    Hi Noham,

    currently the only option I see to achieve what you've described is to do logical tests using iif() and have them nested, like this:

    CBOOL(IIF("CODE1"= GV_CODE_CLIENT, "1", (IIF("CODE2"= GV_CODE_CLIENT,"1", (IIF("CODE3"= GV_CODE_CLIENT, "1", (IIF("CODE4"= GV_CODE_CLIENT, "1", "0"))))))))

    CBOOL at the beginning is needed to convert the outputs 0 = false or 1 = true.


    With DocuWare version 7.9 (autumn 2023) you will be able to check the contents of a list variable (keyword), index field of type keyword or an index table column using a LINQ function. With this you can check if the list contains one or multiple values, or even compare 2 lists.

    Example:
    GV_CODES: { "1", "2", "3", "4" }
    GV_CODE_CLIENT: "4"

    GV_CODES.Contains(GV_CODE_CLIENT)
    Returns: true


    Viele Grüße / With best regards,

    --
    Gerardo Lisanti
    Team Leader Product Management  |  DocuWare GmbH
  • RE: Create new user via REST API not working

    Hi Chema,

    please make sure that you pass the Content-Type: application/vnd.docuware.platform.createorganizationuser+json in the HTTP header.
    Only then the POST request is considered a "Create User" request.

    With Content-Type: application/json  the system tries to update an existing user, where the user's GUID is required.


    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Team Leader Product Management  |  DocuWare GmbH
     
  • RE: How can I copy Table Fields to Index Values in Workflow

    <p>Hi Filippo,</p> <p>to achieve this, you can use the &quot;Arithmetic Expressions&quot; by specifying the table column of an index table. This will return a list of the values of each row in that column. However, if the target is an index field that can hold only one value, you must specify an index (starting at 0) to return only the value of a particular row.</p> <p>Example:<br> You have a table &quot;Line Items&quot; with 2 columns, ID and GL Code:<br> &#160;</p> <table border=1 cellpadding=1 cellspacing=1 style="width:500px;"> <tbody> <tr> <td>ID</td> <td>GL Code</td> </tr> <tr> <td>1</td> <td>000-4000</td> </tr> <tr> <td>2</td> <td>000-5000</td> </tr> </tbody> </table> <p><br> <br> With the expression <code>DW_LINE_ITEMS[LINE_GL_CODE][0]</code> you get the value &quot;<strong>000-4000</strong>&quot;, because index 0 is applied and the value of the first line is returned. Whereas with the expression <code>DW_LINE_ITEMS[LINE_GL_CODE][1]</code> index 1 is applied and the value of the second line is returned: &quot;<strong>000-5000</strong>&quot;.</p> <p></p> <p>---</p> <div>Gerardo Lisanti<br> Team Leader Product Management&#160;&#160;|&#160;&#160;DocuWare GmbH</div>
  • RE: Week number

    Hi&#160;Vorawooth,<br> <br> you are almost there. The DatePart() function returns a Variant (Integer). That means you can write the returned value to a field/variable of type &quot;numeric&quot; in DocuWare Workflows.<br> <br> I suppose you are trying to write to a field/variable of type &quot;text&quot;. For this you need to convert the returned value to a string using CStr().<br> So the expression looks like this:&#160;<code>CStr(DatePart(&quot;ww&quot;, GV_Date1))</code><br> <br> <br> Viele Grüße / With best regards,<br> --<br> Gerardo Lisanti<br> Product Manager &#160;| &#160;DocuWare GmbH
  • RE: Hyperlink per E-Mail soll gezielt einen Dialog verwenden je nach Dokumententyp

    Hallo Herr&#160;Holtstiege,<br> <br> Dialog und Ergebnislisten müssen den einzelnen Bneutzern zugewiesen werden.<br> Beim Teilen eines Dokuments wird der generierte Link generisch für das Archiv erzeugt.<br> Beispiel:&#160;<code>https://.../DocuWare/Platform/WebClient/Integration?<strong>fc=</strong>ae156510-ffa8-48b1-a3ec-baec3180669c&amp;did=641&amp;p=V</code><br> <br> Dadurch wird sichergestellt, dass das Dokument auch den über den Hyperlink geöffnet werden kann, wenn dem Benutzer die Ergebnisliste nicht zugewiesen ist.<br> Man könnten den Parameter fc= mit dem Parameter rl= austauschen und die enstprechend Ergebnisliste mitgeben. Dann wird das Dokument auch mit der angegebenen Ergebnisliste bzw. dem hinterlegten Indexdialog geöffnet.<br> Beispiel:&#160;<code>https://.../DocuWare/Platform/WebClient/Integration?<strong>rl=</strong>c68db269-dbda-4b32-91e0-83ab3adda61f&amp;did=641&amp;p=V</code><br> <br> Das kann jedoch nicht als Standard eingestellt werden. Eine Alternative wäre statt dem Dokument die Ergbenisliste zu teilen.<br> Den Menüeintrag finden Sie in der oberen rechten Ecke einer Ergebnisliste unter den drei Punkten.<br> <br> ​​​​​​​Viele Grüße / With best regards,<br> &#160;<br> --<br> &#160;<br> Gerardo Lisanti<br> Product Manager&#160;&#160;|&#160;&#160;DocuWare GmbH
  • RE: Begrenzte Auswahl von Feldern für die Verknüpfung mit Intelligent Indexing

    <p style="margin-bottom:11px;"><span style="font-size:11pt;"><span style="line-height:107%;"><span style="font-family:Calibri,sans-serif;"><span style="font-size:11.5pt;"><span style="background:white;"><span style="line-height:107%;"><span style="font-family:&quot;Segoe UI&quot;,sans-serif;"><span style="color:#353535;">Hallo Herr&#160;Holtstiege,</span></span></span></span></span><br style="box-sizing:border-box;orphans:2;text-align:start;widows:2;text-decoration-style:initial;text-decoration-color:initial;word-spacing:0px;"> <br style="box-sizing:border-box;orphans:2;text-align:start;widows:2;text-decoration-style:initial;text-decoration-color:initial;word-spacing:0px;"> <span style="font-size:11.5pt;"><span style="line-height:107%;"><span style="font-family:&quot;Segoe UI&quot;,sans-serif;"><span style="color:#353535;"><span style="background:white;"><span style="text-align:start;"><span style=""><span style="orphans:2;"><span style="widows:2;"><span style=""><span style="text-decoration-style:initial;"><span style="text-decoration-color:initial;"><span style="float:none;"><span style="word-spacing:0px;">der Grund hierfür ist möglicherweise, dass das Feld im Ablagedialog nicht sichtbar ist.</span></span></span></span></span></span></span></span></span></span><br style="box-sizing:border-box;orphans:2;text-align:start;widows:2;text-decoration-style:initial;text-decoration-color:initial;word-spacing:0px;"> <span style="background:white;"><span style="text-align:start;"><span style=""><span style="orphans:2;"><span style="widows:2;"><span style=""><span style="text-decoration-style:initial;"><span style="text-decoration-color:initial;"><span style="float:none;"><span style="word-spacing:0px;">Intelligent Indexing kann nur Vorschläge für eingeblendete/sichtbare Felder vorschlagen.</span></span></span></span></span></span></span></span></span></span><br style="box-sizing:border-box;orphans:2;text-align:start;widows:2;text-decoration-style:initial;text-decoration-color:initial;word-spacing:0px;"> <br style="box-sizing:border-box;orphans:2;text-align:start;widows:2;text-decoration-style:initial;text-decoration-color:initial;word-spacing:0px;"> <span style="background:white;"><span style="text-align:start;"><span style=""><span style="orphans:2;"><span style="widows:2;"><span style=""><span style="text-decoration-style:initial;"><span style="text-decoration-color:initial;"><span style="float:none;"><span style="word-spacing:0px;">Um die Sichtbarkeit eines Feldes im Dialog zu ändern klicken Sie in den Dialog-Einstellungen auf das &quot;Auge&quot; ganz rechts.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p> <p style="margin-bottom:11px;"><span style="font-size:11pt;"><span style="line-height:107%;"><span style="font-family:Calibri,sans-serif;"><img style="width:605px;height:66px;"></span></span></span></p> <p style="margin-bottom:11px;"></p> <p>Viele Grüße / With best regards,</p> <p>--</p> <p>Gerardo Lisanti</p> <p>Product Manager&#160;&#160;|&#160;&#160;DocuWare GmbH</p>
  • RE: Check out/in document to/from basket with rest API

    Hi Pierre,<br> <br> Check-Out to document tray should be:<br> <br> <strong>PUT&#160;</strong>&#160;<code>{{ServerUrl}}/{{Platform}}</code>/FileCabinets/<code>{{FileCabinetId}}</code>/Operations/ProcessDocumentAction?docId=<code>{{DocumentId}}</code><br> &#160; <pre class="linenums prettyprint">{ &quot;DocumentAction&quot;: &quot;CheckOut&quot;, &quot;DocumentActionParameters&quot;: { &quot;$type&quot;: &quot;CheckOutActionParameters&quot;, &quot;FileCabinetId&quot;: &quot;b_99f4b29d-a2b0-4196-a4a6-67cb74fd865c&quot; } }</pre> <br> <br> Check-In from document tray should be:<br> <br> <strong>PUT&#160;</strong>&#160;<code>{{ServerUrl}}/{{Platform}}</code>/FileCabinets/<code>{{DocumentTrayId}}</code>/Operations/ProcessDocumentAction?docId=<code>{{DocumentId}}</code><br> &#160; <pre class="linenums prettyprint">{ &quot;DocumentAction&quot;: &quot;CheckIn&quot;, &quot;DocumentActionParameters&quot;: { &quot;$type&quot;: &quot;CheckInActionParameters&quot;, &quot;Comments&quot;: &quot;&quot;, &quot;DocumentVersion&quot;: { &quot;Major&quot;: 2, &quot;Minor&quot;: 0 } } }</pre> Note that the DocIDs are different for Check-Out and Check-In.<br> <br> <br> Merging of sections is called &quot;staple&quot; (1 section) and should be:<br> <br> <strong>POST&#160;</strong>&#160;<code>{{ServerUrl}}/{{Platform}}</code>/FileCabinets/<code>{{DocumentTrayId}}</code>/Operations/ContentMerge<br> &#160; <pre class="linenums prettyprint">{ &quot;Documents&quot;: [ 221, 220 ], &quot;Operation&quot;: &quot;Staple&quot;, &quot;Force&quot;: true }</pre> Note that stapling is only supported in document trays. This ensures that documents are not lost in the filing cabinet under any circumstances.<br> Also, if the documents are already &quot;clipped&quot; (2 sections), you must first unclip and then staple.<br> <br> <strong>POST&#160;</strong>&#160;<code>{{ServerUrl}}/{{Platform}}</code>/FileCabinets<code>/{{DocumentTrayId}}</code>/Operations/ContentDivide?docId=<code>{{DocumentId}}</code><br> &#160; <pre class="linenums prettyprint">{ &quot;Operation&quot;: &quot;Unclip&quot; }</pre> <br> So the procedure would probably be: <ul> <li>copy the document&#160;to a document tray (Transfer)</li> <li>unclip</li> <li>staple</li> <li>store</li> <li>delete the old document&#160;in file cabinet</li> </ul> <br> ​​​​​​​<br> Viele Grüße / With best regards,<br> --<br> Gerardo Lisanti<br> Product Manager &#160;| &#160;DocuWare GmbH
  • RE: Call form from rest API

    Hi Pierre,<br> <br> unfortunately forms has no API at the moment.<br> Also storing a &quot;dummy&quot; pdf on your own, will not meet the requirements for editing the pdf field with workflow.<br> <br> I recommend to add this idea to our customer feedback forum, so others can vote and leave feedback:<br> <a href="https://docuware.uservoice.com/" target=_blank>https://docuware.uservoice.com/</a><br> <br> Viele Grüße / With best regards,<br> &#160;--<br> &#160;Gerardo Lisanti<br> Product Manager&#160;&#160;|&#160;&#160;DocuWare GmbH
  • RE: Doppelte Werte im Archiv auffinden und löschen

    Hallo zusammen,<br> <br> für diesen Anwendungsfall ist Autoindex besser geeignet, da die zeitgesteuerte Ausführung im Workflow auf maximal 100 Dokumente pro Lauf begrenzt ist.<br> <br> Autoindex müsste folgendermaßen konfiguriert werden: <ul> <li>Auslöser:&#160;Zeitsteuerung <ul> <li>Ausführung: Nie</li> <li>Filter: &quot;Status&quot; ist leer</li> </ul> </li> <li>Indexdaten: <ul> <li>Quelle: Archivdatenbank (selbes Archiv) <ul> <li>Filter: &quot;Status&quot; ist nicht gleich &quot;zum Löschen&quot;</li> </ul> </li> <li>Matchcode: <ul> <li>&quot;Bauteil-ID&quot; ist gleich &quot;Bauteil-ID&quot;</li> <li>&quot;Doc ID&quot; ist <strong>nicht</strong> gleich &quot;Doc ID&quot;</li> </ul> </li> <li>Abarbeitungsliste: Anhand von Archiv</li> <li>Mehrere Treffer:&#160;Ersten Datensatz für Indexierung verwenden</li> <li>Keine Treffer: Indexierung für Dokument ändern <ul> <li>&quot;Status&quot; Fester Eintrag &quot;OK&quot;</li> </ul> </li> <li>Datenzuweisung: <ul> <li>&quot;Status&quot; Fester Eintrag &quot;zum Löschen&quot;</li> </ul> </li> <li>Zurückschreiben: <ul> <li>Treffer:&#160;Datensätze nicht ändern</li> <li>Keine Treffer:&#160;Datensätze nicht ändern</li> </ul> </li> </ul> </li> </ul> Erläuterung: <ul> <li>Der Autoindex bearbeitet alle Datensätze die noch keinen Status haben&#160;(&quot;Status ist leer&quot;).</li> <li>Die Quelle ist dasselbe Archiv, aber bereinigt.<br> Also nur die Datensätze die keinen Status &quot;zum Löschen&quot; haben, da diese ja bereits als fehlerhaft markiert sind.</li> <li>Der Matchcode für einen Treffer ist, dass die &quot;Bauteil-ID&quot; gleich ist und dass die &quot;Doc ID&quot; unterschiedlich ist.</li> <li>Wenn kein Treffer gefunden wird, gilt der aktuell bearbeitete Datensatz als korrekt&#160;und wird mit dem Status &quot;OK&quot; versehen.</li> <li>Wenn es einen Treffer gibt wird,&#160;gilt der aktuell bearbeitete Datensatz als fehlerhaft und wird mit dem Status &quot;zum Löschen&quot; versehen.</li> </ul> <br> Nachdem Autoindex einmalig (manueller Start) alle vorhandenen Datensätze geprüft hat, empfehle ich den Auslöser von &quot;Zeitsteuerung&quot; auf &quot;Archivereignis&quot; umzustellen: <ul> <li>Archiveriegnis: für neue Dokumente</li> <li>Filter: &quot;Status&quot; ist leer</li> </ul> Somit wird jeder Datensatz diekt nach der Ablage automatisch geprüft. Dadurch ist Verarbeitung schneller und zugleich effiizienter.<br> <br> Mit einer Löschregel kann man regelmäßig (z.B. jede Woche) die fehlerhaften Datensätze (&quot;Status&quot; ist gleich &quot;zum Löschen&quot;) löschen.<br> <br> <br> Viele Grüße / With best regards,<br> --<br> Gerardo Lisanti<br> Product Manager &#160;| &#160;DocuWare GmbH