• RE: Error trying to compare a GV with an inde field from another FC in Workflow

    Hi Miguel,

    you have to provide the SQL WHERE clause in SQL Syntax.
    So the correct syntax for a query using the LIKE operator is:
    DW_NOMBRE LIKE '%GV_Empresa%'

    See also: LIKE (Transact-SQL) - SQL Server | Microsoft Learn

    Viele Grüße / With best regards,
    Gerardo Lisanti
  • RE: Error trying to compare a GV with an inde field from another FC in Workflow

    Hi Miguel,

    The field DW_NOMBRE is probably a text field. Therefore, its value should be enclosed in single quotation marks, like this:
    DW_NOMBRE = 'GV_Empresa'

    Viele Grüße / With best regards,
    Gerardo Lisanti
  • RE: Variable für den nächsten Gültigen Wochentag

    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
  • RE: Create URL to docuement via Workflow

    Hi Michael,

    yes, the workflow offers a system variable called Document URL WF_DOC_URL. This variable returns the URL to the document in the workflow, which looks like this:
    https://any.docuware.cloud/DocuWare/Platform/WebClient/a80557d9-6870-4702-af8a-406e863e8dbd/Integration?p=V&fc=ae156510-ffa8-48b1-a3ec-baec3180669c&did=1629

    The URL is structured as follows:
    https://<Organization Domain>/DocuWare/Platform/WebClient/<Organization GUID>/Integration?p=V&fc=<File Cabinet GUID>&did=<Document ID>


    Alternatively you can also create URLs "manually" by using hard-coded parts and variables in a workflow (arithmetic) expression:
    • Organization Domain WF_ORG_DOMAIN,
    • Organization GUID, WF_ORG_GUID,
    • File Cabinet GUID WF_FC_GUID and
    • Document ID DW_DOCID

    Find more information about URL Integrations here: URL Integration | DocuWare SDK Documentation


    Viele Grüße / With best regards,

    Gerardo Lisanti
    Team Leader Product Management  |  DocuWare GmbH
  • RE: Can we use Workflow Clipping with Docuware API

    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
  • RE: Externe können Web-Formular nur ausfüllen, wenn sie eine personenbezogene ID eingeben

    Hallo, 

    evtl. könnte man anhand von RegEx, im Code nach einem schwer zu erkennendem Muster suchen, zum Beispiel:

    Muster: 3 Großbuchstaben, 3 Ziffern, 3 Großbuchstaben
    RegEx: (\w+)?[A-Z]{3}\d{3}[A-Z]{3}(\w+)?

    Gültige IDs:
    • PQR456ZXY123MNL789XYZPQR5J
    • GI765DEF432XYZ098JKL321MNO
    • 654VWXY987ABC123RST0TSPQRG
    Ungültige IDs:
    • X9Y8Z7W6V5U4T3S2R1Q0EF398V
    • L1K2J3H4G5F6D7C8B9A02FBGH3
    • D7H3C2F4J9K1B5A8G6L0E2I13R

    Viele Grüße / With best regards,

    Gerardo Lisanti
    Team Leader Product Management  |  DocuWare GmbH
  • RE: Indexfeld "Tabelle" als String-Kette in neues Indexfeld "Textfeld" kopieren

    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
  • 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 Funktion MIN() 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')

    Durch MIN() erhält man die kleinste DWDOCID 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