-
RE: Calculating Purchase Order Totals in a Workflow
Hi Randy,<br> <br> You are welcome. I have attached a screenshot showing how this could be done.<br> The WHERE is simple SQL, you can query the document in the file cabinet by searching for the "<code>document number</code>" with the global variable "<code>CurrentPONumber</code>", e.g. <code>DW_DOCUMENT_NUMBER = 'GV_CurrentPONumber'</code>  and take over the "<code>(Net) Amount</code>" to "<code>CurrentPOAmount</code>"<br> <br> Viele Grüße / With best regards,<br> <br> --<br> <br> Gerardo Lisanti<br> Product Manager  |  DocuWare GmbH -
RE: form (Fillable) from workflow
<p>Thank you both for these interesting insights.<br> I will certainly bring them to the product dpt. so that we can anlayze and discuss improvements for the future.<br> <br> Viele Grüße / With best regards,<br>  --<br> Gerardo Lisanti<br> Product Manager  |  DocuWare GmbH</p> -
RE: Calculating Purchase Order Totals in a Workflow
Hi Jeff,<br> <br> so probably you can approach it like this: <ol> <li>Set a decimal global variabel "<code>TotalPOAmount</code>" to "<code>0.00</code>"</li> <li>For the loop set a numeric global variable "<code>CurrentPO</code>" initially to "<code>0</code>"</li> <li>Find out how many POs are there to determine the end of the loop. Using a workflow arithmetic expression you can get the count of the PO's from the keyword field, e.g. <code>Count(DW_POKeyword)</code>. Assign it to a numeric global variable called "<code>TotalPOs</code>" so you can check later if the end is reached.</li> <li>Start the loop and get the PO number of the current run. Using a workflow arithmetic expression get the PO number from the keyword field. Use the global variable "<code>CurrentPO</code>" to return the appropriate value of this run, e.g. <code>DW_POKeyword(GV_CurrentPO)</code>. Assign it to a text global variable called "<code>CurrentPONumber</code>".</li> <li>Get the amount of the appropriate PO by querying the document using the global variable "<code>CurrentPONumber</code>". Assign the amount to a decimal global variable "<code>CurrentPOAmount</code>".</li> <li>Add the amount to the global variable "<code>TotalPOAmount</code>" using a workflow arithmetic expression, e.g. <code>GV_TotalPOAmount + GV_CurrentPOAmount</code></li> <li>Add a condition to check if you need to repeat the steps 3-5, by comparing the number of "<code>TotalPOs</code>" with the number of "<code>CurrentPO</code>", using a workflow arithmetic expression, e.g. <code>GV_TotalPOs = GV_CurrentPO</code></li> <li>if the condition is <strong>not </strong>fulfilled add <code>1</code> to the global variable "<code>CurrentPO</code>", using a workflow arithmetic expression, e.g. <code>GV_CurrentPO + 1</code> and go back to the step 3.</li> <li>if the condition is fulfilled you are done and you can move on, for example by comparing the "<code>TotalPOAmount</code>" with the total amount of the current invoice, using a workflow arithmetic expression, e.g. <code>GV_TotalPOAmount = DW_TotalAmount</code></li> </ol> <br> Needed global variables: <ul> <li>TotalPOAmount (decimal)</li> <li>CurrentPO (numeric)</li> <li>TotalPOs (numeric)</li> <li>CurrentPONumber (text)</li> <li>CurrentPOAmount (decimal)</li> </ul> <br> Let me know if this helps!<br> <br> Viele Grüße / With best regards,<br> <br> --<br> <br> Gerardo Lisanti<br> Product Manager  |  DocuWare GmbH -
RE: Send Table index data to REST web service in a workflow
Hi Chema,<br> <br> we have deliberately not included table fields in webhooks and web service requests so far. The reasons for this decision were: <ul> <li>A table can contain up to 1000 rows and 50 columns. This means that a lot of data would be transferred. For this type of integrations, it is typically not recommended to transfer such large amounts of data.</li> <li>Table data is a data matrix. It can be provided in a variety of formats and structures. It is hardly possible to provide a standard structure that fits the external application without any adaptations. In most cases, it is necessary to adapt the data to the structure of the external application.</li> </ul> At the moment, the recommended way is to provide the necessary parameters, GUIDs and IDs to a middleware, e.g. an integration platform (iPaaS), then pull the table data and transform it there before sending it to the third-party application.<br> <br> <br> Viele Grüße / With best regards,<br>  <br> --<br>  <br> Gerardo Lisanti<br> Product Manager  |  DocuWare GmbH -
RE: form (Fillable) from workflow
Hi Jhony and Connie,<br> <br> Currently it is not possible to submit a form from within a workflow.<br> Can you maybe provide more details about the use case or scenario where this would be used?<br> <br> Viele Grüße / With best regards,<br> <br>  --<br>  <br> Gerardo Lisanti<br> Product Manager  |  DocuWare GmbH -
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 "validation" 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.: <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>  <br> --<br>  <br> <b>Gerardo Lisanti</b><br> Product Manager  |  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>  </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>    @TimeStamp = "2023-02-22T07:54:35.5034184Z"<br>    Group{http://dev.docuware.com/schema/public/services/platform}<br>       @Count = "<strong>1127404</strong>"<br> <br> <br> Viele Grüße / With best regards,<br> <br> --<br> <br> Gerardo Lisanti<br> Product Manager  |  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) & "'"
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:
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