Read-Only Permissions
Read-only permissions can be set on lines and line fields. These permissions are based upon a condition that contains references to fields in the same line. If a certain condition is met on one field, another field or the whole line can be made read-only.
Note that the current implementation only covers lines and line fields based on a condition evaluated in the same line. It is currently not possible to use BizzStream expressions with header fields, nor is it possible to make a line group read-only.
These are the components of a document, where the Read-only can only be applied to the lines and line fields.
A line can be made read-only as a whole.
A field in a line can be made read-only.
Setting Read-Only Permissions
Please complete the following steps to set the field and line permissions for an Access Group:
- Open a Document Definition.
- Expand the Access Groups selection of a Document Definition.
- Expand an Access group and select the Permissions.
- Scroll to the section Read-only conditions .
- Click New.
- The first column of the grid you can select the line or line field to which the condition applies. (you can only select a line or line field once)
- In the status column you can add a condition, this condition can only refer to a line field.
Example
The following example makes a line or field read-only when the line field "fieldName" equals "test".
{!fieldName!} <> "test"
Note
- When a line is read-only, the line cannot be copied or deleted.
- When a user is part of multiple Access Groups and a read-only condition is valid in one Access Group, but does not exist in the other, the condition is not applied.
- The condition also applies for REST actions if permissions apply.
Operators for conditions
The following operators can be used in conditions.
Operator | Description | Example |
---|---|---|
== | The field in the referred document is equal to a set value. | {!target.projectName!} == {!source.projectName!} |
<> | The field in the referred document is not equal to a set value | {!target.projectName!} <> {!source.projectName!} |
> | The document contains a field with a value that is larger than a set value | {!target.amount!} > 5 |
=> | The document contains a field with a value that is larger or equal than a set value | {!target.amount!} => 5 |
< | The document contains a field with a value that is smaller than a set value | {!target.amount!} < 5 |
<= | The document contains a field with a value that is smaller or equal than a set value | {!target.amount!} <= 5 |
<> | The document does not equal a set value | {!target.projectName!} <> {!source.projectName!} |
in | Used to reference to a 1-N reference field to filter the options | {!source.restaurant{"fieldName":"employees","operator":"in"}!} |
match | Used to compare the values of two reference fields | {!target.mainIngredient!} match {!sourceLine.preferredIngredients!} |
&& | The and-operator links multiple operators together. All conditions have to be met for the document to become available in the reference field | {!target.amount!} > 5 &&{!target.amount!} < 10 |
|| | The or-operator links multiple operators together. All conditions have to be met for the document to become available in the reference field | {!target.amount!} > 5 || {!target.amount!} < 10 |
hasValue | The field has a value. This operator returns false in the case of empty strings, empty arrays, or null values. | {!target.projectName{"operator":"hasValue"}!} |
hasNoValue | The field has a value. This operator returns true in the case of empty strings, empty arrays, or null values. | {!target.projectName{"operator":"hasNoValue"}!} |