Meta workflow

Description

Workflow is a clear sequence of actions to obtain a prescribed result. Generally, the workflow is repeated many times. The workflow allows you to display the stages of the process and set the conditions for its execution.

JSON

{
  "name": "basic",
  "caption": "Поручения",
  "wfClass": "basic",
  "startState": "new",
  "states": [],
  "transitions": [],
  "metaVersion": "2.0.61"
}

Field description

Field Name Description
"name" System name Workflow system name
"caption" Logical name Workflow logical name
"wfClass" Workflow class Class to apply the workflow
"startState" Status Status assigned to the beginning of the workflow
"states" List of statuses List of workflow statuses
"transitions" Transitions Transitions between work flow statuses.
"metaVersion" Versioning Версия метаданных.

“Contains” condition

Attention! To use the “contains” field, you should configure the eager loading in the collection. Otherwise, the collection will be empty, and the result will always be false. Conditions apply to the object retrieved from the database, without additional requests.

Example

{
    "property": "charge",
    "operation": 10,
    "value": null,
    "nestedConditions": [
      {
        "property": "state",
        "operation": 1,
        "value": [
          "close"
        ],
        "nestedConditions": []
      }
    ]
  }

Configuration of hints

The “hints” feature represents the instructions in a separate modal window with buttons “continue” or “cancel”. When you hover over the button, a pop-up hint appears, for more convenient use of workflows.

Example

"transitions": [
    {
      ...
      "confirm": true,
      "confirmMessage": null
    }
  • "confirm" - confirmation of the action on the workflow transition (+ standard text “you really want to perform the “name” action”).
  • "confirmMessage" - unique text to display in confirmation instead of standard text.

Utility to form an array of objects

The utility allows you to create an object in the collection when the main object moves in the specified status. The fields of the created object are automatically filled in accordance with the settings specified for the "values" property.

In the di, in the options property write the following option to attach the indicator value creation utility to the WF status.

state - имя этапа БП

When the object moves in this status, the objects in the collection should be created.

It is possible to use the utility as an “action”. When remaking, just remove the command from the meta view. Configure the utility in the deploy.json of the project. Syntax settings:

"map": {
    "workflow@namespace.stage": {
       "className@namespace": { // для объекта какого класса создается объект в коллекцию
           "collection": { // наименование атрибута коллекции, в которой создается объект
               "elementClass": "className2@namespace", // класс, объекты которого создаются утилитой
               "patterns": [
                  {
                      "values": {
                          "attr1": "string", // строка
                          "attr2": 123, // число
                          "attr3": true,
                          "attr4": "$containerProperty1", // свойство контейнера
                          "attr5": {"add": ["$containerProperty2", 300]} // формула
                      },
                      "push": [
                         "workflow2@namespace.stage1", // присвоение БП созданных объектов статуса
                      ]
                  },
                  ...
               ]
           },
           ...
       },
       ...
    },
    ....
}

Security of the workflow

Security in the workflow is necessary for the control of rights for a specific object by a single user and is set through the class meta, statuses, and transitions of the workflow. More details about WF security.