Assignment
Last updated
Last updated
The assignment node is used to assign a value to an item, like a data field, or an input field of a webservice. When the flowchart reaches the assignment node, that value will be set.
Starting from June 27 2022, the Assignment Node can be used to make assignments to multiple fields. This allows you to make multiple assignment very fast and easy and your Flowchart less cramped with all the assignment nodes when you need to update all fields from a list (for example).
When the node is added to the flowchart, the following popup appears:
From this popup you select the (writable) fields for which a value needs to be assigned and click the ok button.
It is also possible to add an Assignment Node to the canvas by dragging one or more (writable) fields from the Data Model to the canvas and selection the "Assignment" option.
When the assignment node on the canvas is selected the properties pane becomes visible on the right side of the screen. Through the assignment node properties pane a value can be assigned. Assigning a field from the Data Model can be done by selecting the "Advanced" action and dragging the required field in the expression editor. There is also an easier way that works by dragging the field directly from the Project resources pane and dropping it on the Action dropdown. This will change the Action to Advanced and sets the Expression to the dropped Field (its technical name).
The properties pane consist of the following elements:
Property | Description |
---|---|
Data field (single assignment) | A hyperlink is shown with the name of the field. Clicking it will make the Project resources pane jump to the corresponding field. This is only available when only 1 field is used as the target for the assignment. |
Name | When the Assignment Node contains assignments for more fields, you can set a custom name for the Node, like "Setting values for all User Fields". If you leave this Name field empty, the Node name will display as "Assignment: x fields" where x is the number of fields to be assigned. |
Action | The action dropdown is used to define which action needs to be performed. The contents of the action dropdown depends on what type of datafield is selected. More information on the possible actions can be found further down this article. |
Operand/Expression | This name of this input field and if it is visible depends on which action is selected and which type of field is assigned by this node. Try selecting various actions in different assignment nodes to see what happens. |
Assign more fields | Using this button allows you to add more fields into the assignment list - in an overlay. |
Edit assignments | When the Assignment Node has multiple assignments, these can be managed in an overlay - click on this button [Edit assignments] to show that overlay. The number of assignments is displayed below the button. |
Exits | The assignment node has only 2 possible exits. The default exit is followed when the value is assigned. This exit should always be connected to a next node. The error exit is followed when the assignment node is not able to perform the assignment. The error exit in this node is rarely used because an error in this node is rarely acceptable in a working application. |
When multiple fields are selected (or added later) to the Assignment node, each field gets its own Assignment Action in this overlay. The overlay is accessible via the button [Edit Assignments] in the property pane or by double-clicking on the Assignment Node (when it contains multiple assignments). The actions and operands are the same as per single assignment node, specific to each fields data type.
The order in which these assignments are displayed is important! It reflects also the order in which the assignments are executed. So you can actually assign a value to a field which then can be used in the assignment expressions in next fields. Use the buttons Move up and Move down to change the order of assignments. The assignment node itself cannot validate the order - you need to make sure the order is correct.
The list of actions that can be selected in the dropdown depends on which type of field is assigned. Almost all actions are very easy to understand based on the action name. In the overview below only the most common and most used are mentioned or those that could use some explanation. Add assignment nodes for different field types to the canvas to see all the possibilities.
When dragging and dropping a field to the Operand column the Action of that row is changed to the Advanced... option even when there is no input field shown. Fields that are non writable will be showing a red box in the drop-zone.
Action | Datafield Type | Description |
---|---|---|
Clear value | All | This action is used to clear a data field of its value. |
Advanced | All | Gives you the ability to assigned a value set by an expression. The expression needs to match the Data type of the Data field. |
Set to current row | Reference | This action is used to assign the rowid of the active row of the list the field is referencing to. |
New value | (Rich) Text Number Concept | Assign a static new value to a (rich) Text field, a Number field or a Single Select Concept field. |
Append value | (Rich) Text | append a value to a textfield (add characters to existing value) |
No | Boolean/YesNo | Set a yes/no field to no (false) |
Yes | Boolean/YesNo | Set a yes/no field to yes (true) |
Switch | Boolean/YesNo | Switch a YesNo field (yes becomes no, no becomes yes, unknown stays unknown) |
Move days/months/weeks/years | Date time | Moves the date of the in the datafield with the number specified in the Operand. Adding a "-" before the number will move the date to the past. |
Current date (and time) | Date time | This action sets the current date to the datafield. If the "and time" is selected the time is also added. If not the time is set to 00:00 on that date. If the UTC option is selected a UTC time is selected. If not the date and time depends on the selected timezone. |
Add, Divide, Multiply, Subtract | Number | Directly add/divide/multiply/subtract with specific static value |
New value in ... | Duration | Sets a duration value in seconds, minutes, hours or days with a static numeric value |
Add ... | Duration | Adds a statuc numeric value in seconds, minutes, hours or days to a Duration |
Add/Remove/Replace concepts | Multi-Select (concept set) | Uses static concept values to be added/removed/replaced on a multi-select concept set. |