Entity property rule

Rule type – Abstract

Purpose: This is considered ‘passed’ if the check value fulfils the test condition defined by the selected Matchers. Some comparison types use a compare value.

images/download/attachments/201665268/image-2025-3-27_9-59-9-version-1-modificationdate-1743065949666-api-v2.png

Matchers

Check logic

Check value type

Compare value

Equals
(Default)

Agreement with a compare value

Any

ExplicitValue configuration

In list

Match with list entry in the compare value

Any

ExplicitValue configuration
for ‘list value’ (List, Set, etc.)

Compare with

Rank comparison with selectable
compare operator (=, <, >, <=, >=)

Any

ExplicitValue configuration

Starts with

Text comparison

NOW◄ The value configuration for the check value must provide a String value. For a compare value that is not a String, the string image is used, which can be specific for each execution context.

String

ExplicitValue configuration

Ends with

String

ExplicitValue configuration

Contains

String

ExplicitValue configuration

Is empty

Match with an entry in the compare value list

Any

Implicit → ‘No value’ ($null) or ‘Empty list’ ([])

Value changed

Deviation from the Original entity

Field value of an entity

ImplicitCorresponding field value in the Original entity

Special case

Script

Custom logic that returns a Boolean value

Any

Not provided (can be represented via variable if necessary)

Configuration

The reference object in the context of the Entity property rule is available for value configurations within the configuration.

After adding a new Entity property rule, it appears as shown on the right:

  • The value configuration for the check value (left) contains an Object property resolver for which no field is selected.

  • The Equals compare type is predefined.

  • The value configuration for the compare value (right) appears empty.

images/download/attachments/201665268/image-2025-3-27_9-59-57-version-1-modificationdate-1743065997149-api-v2.png

If there is a type reference for the reference object for the context of the Entity property rule, for example because a Check type is provided within an AND Junction ‘above’, a field can be selected immediately in the Object property resolver (after expanding).

In the example on the right, a ‘company account’ (see Company accounts) is expected as the reference object, so that – as the screenshot shows – the ‘Metatype’ (metaType) field is found when ‘type’ is searched for.

images/download/attachments/201665268/image-2025-3-27_10-1-58-version-1-modificationdate-1743066118236-api-v2.png

After selecting the ‘Metatype’ (metaType) field, its data type – the Company meta type defined as a dynamic enumeration – is adopted as the type hint for the compare value because the Equals compare type provides for this.

There is still no value configuration for the compare value, but in contrast to the first screenshot, the ‘+’ symbol indicates that a value resolver is proposed when the value configuration is expanded, with which a Company meta type can be selected as a static value.

images/download/attachments/201665268/image-2025-3-27_10-3-3-version-1-modificationdate-1743066183158-api-v2.png

The screenshot on the right shows the Dynamic enumeration resolver proposed for the Company meta type based on the check value type, which returns two results in the dropdown for the entered search text ('a').

Unfortunately, the Dynamic enumeration resolver only allows a single selection. If different ‘metatypes’ are defined as acceptable with the same Entity property rule, the Equals compare type must be replaced by the In list compare type.

NOTE◄ Alternatively, it is possible to ‘juxtapose’ several instances of the Entity property rule in an OR Junction.

images/download/attachments/201665268/image-2025-3-27_10-3-52-version-1-modificationdate-1743066232601-api-v2.png

A change of compare type must be initiated by clicking on the menu icon within the hexagon shape:
images/download/attachments/201665268/image-2025-3-27_10-5-12-version-1-modificationdate-1743066312280-api-v2.png

images/download/attachments/201665268/image-2025-3-27_10-5-56-version-1-modificationdate-1743066356819-api-v2.png

images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg CAUTIONimages/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg As can be seen in the previous screenshot (right), the value configuration for the compare value is overwritten when the Matchers changes.


For the In list resolver, a Create list resolver is proposed for the compare value configuration, with which any number of entries can be defined.

Unfortunately, the data type of the check value is not evaluated as an indication of the level of the list entries, so that the appropriate Dynamic enumeration resolver is not automatically suggested here.

Instead, Any dynamic enumeration must be used to select specific values for the Company meta type enumeration.

NOTE◄ If all selected enumeration values come from the same enumeration, this appears as a type hint for the return value of the Create list resolver (see screenshot on the right).

images/download/attachments/201665268/image-2025-3-27_10-7-16-version-1-modificationdate-1743066436820-api-v2.png

By default, the In list compare type is considered passed if the check value is contained in the list provided as a compare value. The list therefore becomes a positive (whitelist). If the list needs to function as a negative list (blacklist) instead, the logic must be ‘reversed’:

images/download/attachments/201665268/image-2025-3-27_10-8-12-version-1-modificationdate-1743066493005-api-v2.png

This is made possible by the not menu item in the context menu for the Matchers selection.

images/download/attachments/201665268/image-2025-3-27_10-8-59-version-1-modificationdate-1743066539162-api-v2.png

This Entity property rule exists for companies whose Company meta type is not ‘Company’ (COMPANY) or ‘Group’ (GROUP).

NOTE◄ Instead of reversing the logic for the Matchers, this could also have been done for the Entity property rule as a whole (see screenshot on the right).

This is made possible by the ‘notribbon button in the context menu for editing the rule, which can be opened by clicking on the menu icon in the top left-hand corner of the surrounding rectangle.

images/download/attachments/201665268/image-2025-3-27_10-11-28-version-1-modificationdate-1743066688133-api-v2.png

The screenshot on the right shows the ‘negated’ Entity property rule. The ‘!’ indicator appears as an icon at the bottom of the rectangular shape and as a prefix in front of the text in the title bar (‘!Compare...’).

images/download/attachments/201665268/image-2025-3-27_10-10-21-version-1-modificationdate-1743066621067-api-v2.png

NOTE◄ The screenshot on the right compares the appearance of the two variants for the negation in the context of an OR Junction (which makes no logical sense due to the redundancy).

  • The first variant is textually more ‘readable’:
    metaType not(in list)

  • The second variant visualises the negation more clearly.
    NOT: (metaType in list)

images/download/attachments/201665268/image-2025-3-27_10-12-31-version-1-modificationdate-1743066751129-api-v2.png





LEGACY CONTENT ▼


images/download/attachments/201665268/image2021-9-14_14-34-49-version-1-modificationdate-1742999782383-api-v2.png

An Objekt-Feld-Rege checks the return value from a value resolver with a specific Matchers.

The Entity property rule is considered 'passed' if the input value meets the test condition defined by the Matchers.

Configuration

The Entity property rule only refers to the present reference object via the Resolvers used in the configuration, if any.

A value resolver for the value to be checked can be selected from the available options after clicking on the menu icon.

As is common practice for defining values, a Chained resolver can also be configured here to define the input data for the rule using a sequence of value resolvers.

The Typed attribute resolver selected on the right within the 'Attribute' category, must – as seen in the screenshot below – almost always be concatenated with a Object property value resolver, so that the field containing the actual value of an attribute can be accessed.

images/download/attachments/201665268/image2021-9-14_14-37-27-version-1-modificationdate-1742999782380-api-v2.png

In the hexagon below the placeholder for the value to be checked, a Matchers must be selected in the next step, which defines the actual 'checking rule'.

For this purpose, a click on the images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/add.svg symbol opens a context menu that lists all available comparison types.

The entry selected in the image ('not') refers to the not (Matcher), which can only be used in conjunction with one of the other comparison types. Therefore, this entry opens a submenu that lists all other comparison types again. As indicated in the example, here the rule is considered 'passed' if the text attribute 'EAN number' provides a text value, i.e. is 'not empty'.

images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg CAUTIONimages/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg The selection for the Matchers can be changed at any time. If a Matchers that provides a comparison value is selected, a suggestion for a 'suitable' value resolver appears on the right-hand side. However, any existing configuration for the comparison value (see below) is always lost as a result. If, for example, a text comparison is changed from Starts with to Contains, then the comparison text must be re-entered or the value resolver must be re-configured.

images/download/attachments/201665268/image2021-9-14_14-39-0-version-1-modificationdate-1742999782369-api-v2.png

As soon as a Matchers that uses a comparison value is selected, a second value resolver appears. Its return value at runtime provides the comparison value for the Matchers. Static values often occur in this line item, in connection with the comparison type In list possibly also as single values in a Create list value resolver, as in the example below.

images/download/attachments/201665268/image2021-9-14_14-40-15-version-1-modificationdate-1742999782364-api-v2.png