• RE: Benutzerberechtigungen auf Ordnerebene

    Der Windows Explorer Client projiziert die Inhalte der Indexfelder als Ordnernamen. Ein "Ordner" enthält die Dokumente, die als Indexwerteinträge die Namen des Ordners und seiner "ancestors" in den entsprechenden Indexfeldern haben. 
    Wenn also Rechte auf einen "Ordner" erteilt werden sollen, ist das nichts anderes als Archivrechte, auf Dokumente mit ganz bestimmten Indexwerteinträgen, und das kann über Indexwertprofile erreicht werden.
  • RE: Make index fields read only based on a value of an index field

    Just to be sure:
    You write, that as per the customer's requirements, a final status of "Complete" is written, however, in Your index value profiles, you use a value of "Done"?
  • RE: Add Entry to Keyword Field in Workflow

    Yup!
  • RE: DocuWare Workflow - Parallele Tasks zuweisen

    Sie können im WF Designer eine Benutzer-Variable oder eine Vertretungslisten-Variable als "Listen-Variable" anlegen. Diese muss dann im Workflow mit Benutzern oder Vertretungslisten gefüllt werden und kann in einer "Zuweisen an"-Aktivität verwendet werden, natürlich auch für eine parallele Aufgabe.
  • RE: Add Entry to Keyword Field in Workflow

    When You edit a keyword variable in a data assignment activity, there is a checkbox which in German says 'Ersetzen' (I guess it says 'Replace in an English system?) which is checked by default.
    With this, You tell the Workflow manager not to replace the complete content of the keword field with the right side of of Your assignment, but to append to it.

    Be wary of separation characters in whatever Your new value is, see here:
    https://support.docuware.com/de-de/knowledgebase/article/KBA-36107

     
  • RE: how to write to null table field using API

    Can you check the reference to columnIndexField in a debugger? I vaguely recall that empty table fields erroneously appear to hold DocuWare's Date value.

    I solved it like this:

    // row is the table row I want to edit. There is a decimalField that may or may not be empty.
    row.ColumnValue.Remove(decimalField);  // This actually is not void, I believe, but in my case I don't need the result.
    List<DocumentIndexField> cells = row ColumnValues;  // holds all cells except the one I want to update.
    var myDecimalValue = someFancyCalculation();  // my new Decimal value;
    cells.Add(DocumentIndexField.Create(decimalColumnName, myDecimalValue); // decimalColumnName holds the Name of the column
    // all above is done in a loop over the existing rows of the tablefield
    // I also have a variable newRows of type List<DocumentindexFieldTableRow>, so now I can do:
    newRows.Add(new DocumentIndexFieldTableRow() { ColumnValue = newRows } ;
    DocumentIndexFieldTable newTable = new DocumentIndexFieldTable();
    newTable.Row = newRows;
    DocumentIndexField newTable = new DocumentIndexField()
                        {
                            FieldName = orginalTableFieldName,
                            ItemElementName = ItemChoiceType.Table,
                            Item = newRows
                        };

                        DocumentIndexFields updatedTableIndexFields = new DocumentIndexFields()
                        {
                            Field = new List<DocumentIndexField>() { newTable }
                        };
                        document.PutToFieldsRelationForDocumentIndexFields(updatedTableIndexFields);

    Basically You use the old table to completely construct a new Table and update the table on the document just as you would any other Indexfield.

    Sorry for the terrible formatting.
     
  • RE: Fehler im Workflow

    Hallo Angelika.
    Sie haben in Ihrem Workflow eine Aktivität vom Typ "Zuweisen an", die die Bezeichnung "An Vertreter" hat.
    In so einer Aktivität soll der Aufgabenkontext für die nächste Aufgabe in diesem Workflows an einen oder mehrere DocuWare-Benutzer zugewiesen werden.
    In dieser Aktivität vom Typ "Zuweisen an" kann man DocuWare-Benutzern explizit, einer Rolle, Vertretungsregeln oder (und bei dieser Option tritt dieser Fehler wahrscheinlich am ehesten auf) einer globalen Variable. Diese Variable kann wiederum vom Typ "Benutzer einer Gruppe", "Rolle" oder "Vertretungsregel" sein.
    Zur Laufzeit einer Instanz dieses Workflows löst der Workflow Manager das Objekt, das Sie in dieser Aktivität einstellen in einen oder mehrere DocuWare-Benutzer auf. Kann er es nicht zu mindestens 1 gültigen DocuWare-Benutzer auflösen, tritt ihr Fehler auf.
    Was genau der Grund ist, hängt davon ab, was sie genau in dieser Aktivität eingestellt haben. Einige Möglichkeiten, die mir aus dem Bauch heraus einfallen:
    - Sie weisen einer Rolle zu, aber die Rolle hat im Moment keine Mitglieder
    - Sie weisen einer Vertretungsregel zu, aber alle Benutzer, die der Vertretungsregel angehören sind abwesend.
    - Sie weisen einer globalen Variablen zum die aber nicht korrekt initialisiert ist. Beispiel: Die Variable ist vom Typ "Rolle", aber ihr wurde kein Inhalt zugewiesen, den DocuWare in eine Rolle umwandeln konnte.
    etc...

    Aufschluss darüber, was genau passiert gibt immer die Workflowhistorie des betroffenen Dokuments. 

     
  • RE: Berechtigungen -> Indexwertprofil -> Auswahl nach Gruppe

    Ist es möglich, dort z.B. auch Benutzergruppen oder Benutzerrollen erscheinen zu lassen?

    -> Leider (grundsätzlich) nein. In einem OnPremise-System kann man hier mit einer SQL-Anweisung nachhelfen.

    Wenn diese Option nicht zur Verfügung steht, muss je Abteilung ein Indexwertprofil erstellt werden. Hier geben Sie dann statische Werte ein, als z.B. Kostenstelle Ist gleich Buchhaltung. Dieses Indexwertprofil weisen Sie dann untern "Benutzer" den Benutzern zu, die in der Abteilung Buchhaltung Mitglied sind. Eventuell haben Sie bereits eine gleichlautende Rolle angelegt, mit der das einfacher gehen kann.
  • RE: Transform Index Values to Proper Case from Upper Case

    Do You have workflows available?
    In that case, use the StrConv VBA function in an arithmetic expression with the appropriate param from the VbStrConv enum:

    https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.strings.strconv?redirectedfrom=MSDN&view=net-5.0#Microsoft_VisualBasic_Strings_StrConv_System_String_Microsoft_VisualBasic_VbStrConv_System_Int32_

    https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.vbstrconv?view=net-5.0
  • RE: Table fields in webservice

    That is probably not possible.

    You may be aware the workflow extension webservices work over the SOAP-Protocol, so data is exchanged as xml. That means it has to be serialized. 
    While serializing the data in the table is generally thinkable, it is hard to generalise this because you don't know how long your table is.

    I like to pass the fileCabinetGuid and the DocId to the webservice then connect to the Filecabinet from the webservice and retrieve all the index data I need.