• RE: How to retrive automatic amount in WF for a table field

    Hi Andrew,<br> <br> can you explain what the scenario looks like in detail?<br> I assume you have the split amounts in a table column and you want to sum the amounts in that column and compare them to the total amount, is that correct?<br> <br> You could do this either in the &quot;validation&quot; of a task activity or in a condition activity by using the arithmetic expression Sum() and comparing it to the index field for the total amount, e.g.:&#160;<code>Sum(DW_MYTABLE[MYTAB_SPLIT]) = DW_TOTAL_AMOUNT</code><br> <br> Find more information on workflow expressions here: <a href="https://go.docuware.com/workflow-expression-parser" target=_blank>https://go.docuware.com/workflow-expression-parser</a><br> <br> Viele Grüße / With best regards,<br> &#160;<br> --<br> &#160;<br> <b>Gerardo Lisanti</b><br> Product Manager&#160; |&#160; DocuWare GmbH
  • RE: 7.7 Cloud Search Results Page Count...Beware!!!

    <p>Hi Daryl,<br> <br> if you are looking for a way to determine the total number of documents in a file cabinet, you can call the CountExpression endpoint in the DocuWare platform directly:<br> <br> https://.../DocuWare/Platform/Browser/Search/FileCabinets/<strong>{fileCabinetId}</strong>/Documents/CountExpression?dialogId=<strong>{dialogId}</strong><br> &#160;</p> <ul> <li>fileCabinetId: The identifier of the used file cabinet.</li> <li>dialogId: The identifier of the used search dialog</li> </ul> <p><br> For example:<br> https://my.docuware.cloud/DocuWare/Platform/Browser/Search/FileCabinets/<strong>3b711eb9-ea64-4117-afa0-4cc370d7799f</strong>/Documents/CountExpression?dialogId=<strong>563ea2dd-8c8d-4264-8ca6-f949b6c07bbd</strong><br> <br> The result looks like this:<br> CountResult{http://dev.docuware.com/schema/public/services/platform}<br> &#160; &#160;@TimeStamp = &quot;2023-02-22T07:54:35.5034184Z&quot;<br> &#160; &#160;Group{http://dev.docuware.com/schema/public/services/platform}<br> &#160; &#160; &#160; @Count = &quot;<strong>1127404</strong>&quot;<br> <br> <br> Viele Grüße / With best regards,<br> <br> --<br> <br> Gerardo Lisanti<br> Product Manager &#160;| &#160;DocuWare GmbH</p>
  • RE: höchsten vorhandenen Indexwert in ein Indexfeld schreiben

    Hallo Oliver,

    so wie ich das verstehe, fragst du alle Mieter ab und schreibst sie in eine Globale Variable GV_ObjektEinheitNummer (Typ Stichwortfeld).
    Deine globale Variable GV_ObjektEinheitNummer enthält also 3 Werte (Index 0-2): M2001.01, M2001.02, M2001.03

    UBOUND() gibt dir den höchsten Index zurück, hier also 2.
    Da die Daten in einem Stichwortfeld immer alphabetisch sortiert werden, ist der höchste Index auch der aktuellste Mieter "M2001.03"

    Somit kannst du dir den Wert mit dem höchsten Index in eine Globale Variable z.B. GV_AktuellerMieterNummer (Typ Text) kopieren:
    GV_ObjektEinheitNummer(UBOUND(GV_ObjektEinheitNummer))

    Die Globale Variable GV_AktuellerMieterNummer nutzt du anschließend um den Namen des Mieters aus den Stammdaten abzufragen:
    DW_OBJEKT_EINHEIT_NUMMER = 'GV_AktuellerMieterNummer'


    Viele Grüße / With best regards,

     --

    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH
  • RE: aus einem Stichwortfeld lediglich den zweiten und vierten Wert in ein anderes Stichwortfeld sch

    Hallo Oliver,

    standarmäßig trennt der Workflow bei der Eingabe der Werte in ein Stichwortfeld nach Leerzeichen, Komma oder Semikolon.
    Das lässt sich umgehen indem man die Werte mit einfache Anführungszeichen (') umschließt und dann explizit zwischen den Werten z.B. ein Komma setzt. In deinem Beispiel also: "'" & DW_NAME(1) & "','" & DW_NAME(3) & "'"

    Das Problem das ich sehe, ist die Reihenfolge der Werte in einem Stichwortfeld. Das Stichwortfeld wurde als eine Art Tagging Funktion konzipiert. Dabei wird die Reihenfolge der eingegebenen Stichworte beim Speichern ignoriert. Die Stichworte werden immer alphabetisch sortiert. Daher würde in deinem Beispiel "D- Domstädt" immer vor "Hr. Clausmann" stehen.
    Lässt du dir den 2. und 4. Wert zurückgeben wirst du also "B. Brütting" und "Hr. Clausmann" erhalten.

    Das lässt sich leider nicht umgehen, außer man schreibt vor jeden Wert immer auch z.B. eine fortlaufende Zahl, also:
    "1 A. Adler", "2 B. Brütting", "3 Hr. Clausmann", "4 D. Domstädt"

    Statt einem Stichwortfeld, könntest du eine Tabelle verwenden, da hier die eingegebene Reihenfolge beibehalten wird.
    Nehmen wir an du hast eine Tabelle "TABLE" mit der Spalte "NAME", dann könntest du dir die Werte daraus folgendermaßen zurückgeben lassen und in ein Stichwortfeld schreiben: "'" & DW_TABLE[TABLE_NAME](1) & "','" & DW_TABLE[TABLE_NAME](3) & "'"

    Image

    Noch ein kleiner Tipp:
    Da man die Werte mit einfache Anführungszeichen umschließt, damit diese nicht getrennt werden, stellt sich ggf. die Frage was man mit Werten macht die einfache Anführungszeichen beinhalten z.B. "Peter's Engineering". Diese Werte würden abgeschintten werden.
    Hier kann man die einfache Anführungszeichen durch die REPLACE Funktion maskieren, indem man sie mit \' ersetzt:
    "'" & REPLACE(DW_TABLE[TABLE_NAME](1), "'", "\'") & "','" & REPLACE(DW_TABLE[TABLE_NAME](3), "'", "\'") & "'"

    Im Ergebnis sieht es dann wieder korrekt aus:
    Image

    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH
  • RE: Word wrap on a post-fill merge form

    Hi Mike,

    in Forms, line breaks are automatically enabled for merge form zones that are connected to a "multi-line" field.
    However, this cannot currently be enabled for freely created merge form zones. We are aware of this problem and are looking into it.

    As a workaround you can add a multi-line field in Forms and then create a merge form zone associated with it.
    When this zone is filled trough a workflow the text is automatically wrapped.



    This "unnecessary" multi-line field can be hidden in Forms via a field behavior.


    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH
  • RE: Calculated filter in Where Clause of Autoindex

    Hi Ameen,

    as this requires a CAST or CONVERT operation on the database, you need to provide the SQL Statement (see screenshot attached)
    e.g. for MSSQL: [YEAR]=CAST(YEAR(GETDATE()) as CHAR(4))

    To do this, you must first activate the "Allow database access via SQL statement" option in DocuWare Administration > DocuWare System > General. Then you can specify a SQL WHERE clause.

    However, this is only possible for DocuWare On-Premises.
    For DocuWare Cloud, as far as I know, there is currently no solution to make this dynamic.

    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH
  • RE: Table as a destination in workflow Assign Data activity

    Hi Steve,

    I understand. At the moment you can add table rows only when you transfer data from one table to another.
    There you can only map table columns to table columns, e.g.

    • '[MyTable]Last Vendor Name' = '[MyOtherTable]Last Vendor Name'
    • '[MyTable]Last Invoice Amount' = '[MyOtherTable]Last Invoice Amount','
    • ...


    The missing piece is the assignment of index fields to table columns, e.g. like in your case:

    • '[MyTable]Last Vendor Name' = 'Last Vendor Name'
    • '[MyTable]Last Invoice Amount' = 'Last Invoice Amount'
    • ...

    We will look at that and see if we can improve things in the future.
    Currently we are working on improving and extending the mapping of data between 2 tables by being able to match rows.

    Viele Grüße / With best regards,

    --
    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH

  • RE: Ist eine 2 faktor authentifizierung geplant (DocuWare Cloud)?

    Hallo Patrick,

    eine 2-Faktor Authentifizierung für die Anmeldung mit DocuWare Benutzername und Passwort ist aktuell noch nicht geplant.
    Wir empfehlen die Integration von DocuWare mit einem Identity Provider bzw. die Umstellung auf Single Sign-On und die Einrichtung der 2-Faktor Authentifizierung direkt im Identity Provider. In Kombination mit der Richtlinie, dass man sich in DocuWare nur noch über Single Sign-On anmelden kann, wird auch 2FA verlangt. Siehe auch https://help.docuware.com/#/home/80227/1/1

    Mit der nächsten DocuWare Version, werden wir eine universelle Open-ID Connect Anbindung für die Einrichtung von Single Sign-On anbieten.
    Damit kann man, neben den aktuell bereits unterstützten Identity Providern von Microsoft (Azure AD und ADFS) auch zahlreiche weitere Identity Provider anbinden.

    Viele Grüße / With best regards,

    --
    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH

  • RE: iif Anweisung in Kombination mit Replace gibt nur erstes Wort aus

    Hallo Herr Acker,

    wenn ich das richtig verstanden habe möchten Sie immer alle 3 Abkürzungen austauschen, sofern sie vorkommen.
    Die IF abfrage benötigen Sie in diesem Fall nicht, da die Replace Funktion die Abfrage im Prinzip selbst mitbringt:
    "Wenn dieser Wert vorkommt, dann tausche ihn mit folgendem Wert aus"

    Daher müssen Sie lediglich 3 Replace Anweisungen verschachtelt ausführen, z.B.:
    Eingabe: WW und WZ und KÜ sind ausgefallen
    Ausdruck: Replace(Replace(Replace(DW_BETREFF,"WW","Warmwasser"),"WZ","Wohnzimmer"),"KÜ","Küche")
    Ausgabe: Warmwasser und Wohnzimmer und Küche sind ausgefallen


    Wenn Sie case-insensitiv austauschen möchten, also "WW" oder auch "ww", dann geben Sie eine 1 als CompareMethod Parameter mit:

    Eingabe: ww und Wz und KÜ sind ausgefallen
    Ausdruck: Replace(Replace(Replace(DW_BETREFF,"WW","Warmwasser",1,-1,1),"WZ","Wohnzimmer",1,-1,1),"KÜ","Küche",1,-1,1)
    Ausgabe: Warmwasser und Wohnzimmer und Küche sind ausgefallen

    Beschreibung der Funktion:
    Replace(String, Find, Replacement, [Start], [Count], [CompareMethod])

    Optionale Parameter:

    • [Start] beschreibt die Startposition der Eingabe, auf welche die Funktion angewendet werden soll. Standard: 1
    • [Count] beschreibt die Zeichenlänge der Eingabe, auf welche die Funktion angewandt werden soll. Standard: -1 (unbegrenzt)
    • [CompareMethod] beschreibt welche Vergleichsmethode der bei der Auswertung verwendet werden soll. 0 binärer Vergleich ; 1 textueller Vergleich 

    Weitere Infos finde sie unter https://go.docuware.com/workflow-expression-parser

    Viele Grüße / With best regards,

    --
    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH

  • RE: Table as a destination in workflow Assign Data activity

    Hi Steve,

    according to your configuration the workflow will loop through the rows of the destination table and add the specified values to the selected columns. Maybe you can explain a little what you are trying to achieve and I can help to find a solution.

    @Simon
    The workflow can add new rows, if you transfer data from one table to another using "mulitple columns" as destination type.
    In this case you can either tick the "Replace" checkbox, which will replace all existing rows in the destination table or
    you can untick the "Replace" checkbox, so that the new rows will be appended at the end of the table.

    Viele Grüße / With best regards,

    --

    Gerardo Lisanti
    Product Manager  |  DocuWare GmbH