Business processes are the applied configuration objects. They describe business logic on the route map and manage the life cycle of created business processes (instances) from the start point to the end point. The required property of business process description is a relation with a task which specifies the addressing system and allows designing the route maps in accordance with the organizational structure supported in the application solution.
The logic of business process (interconnection and sequence of bypassing the route points, conditional jumps, etc.) is visually described as a route map which allows visually describing the route of business process as a connected graph and provides an easy description of the algorithm of conditional jumps and reaction of business processes for various events:
To create the route map of business process, all the design capabilities can be used that are provided by graphical scheme.
When the user is working with the system, an ability to display the actual route map is provided for the particular instances of business process subject to the passed and active route points.
The points of this type describe the separated operation (operation unit) which corresponds to a certain stage (step) in the life cycle of business processes:
The action point contains information about who and what must do at this stage, for example:
- accountant – accept payment in cash;
- storekeeper – give out the goods from warehouse by invoice;
- system administrator – register a new employee in network and e-mail.
Task formulation is usually made up of the verbs and verbal nouns. The executor can be defined personally (John Smith) or subject to the role-base routing ("Storekeeper", "Head of sales department"). When transferring a business process to the action point, it automatically generates the tasks by specifying for them the addressing attributes provided in the action point.
Group and collective routing
- group – this action must execute all the group members. In this case, several tasks are generated (according to the number of employees involved in group), and business process waits for completion of all the tasks to advance further along the route. An example of group routing can be the task, for example, for all managers to provide a monthly report;
- collective – only one member of the group must execute this action. One task is generated. An example of collective task: storekeepers – give out the goods by this invoice from warehouse.
In the action point it is possible to describe the check of required conditions of task execution, an interactive dialog with the user when advancing further along the route and to indicate, for example, which documents should be opened during activation of the tasks associated with this route point of business process.
Personal and role-based routing
The role-based routing allows assigning the tasks not only to the specific executors, but also to the roles, groups, subdivisions, etc., as it is specified in the application solution.
The role-based routing is constructed on the interaction of the objects Task and information register. The task defines the composition of addressing attributes (roles, subdivisions, etc.), and the information register represents the actual, i.e. corresponding to the current moment information about a membership of employees to the roles, subdivisions, work groups, etc. and, thus, is called an addressing register.
The information register can be used to implement the mechanisms of replacement and absence accounting of employees. For example, if it is indicated in the information register that the role of a chief accountant performs Smith, and Smith is going on holiday and his charge is transmitted to Johnson, then the record in the information register changes so that the role of chief accountant performs Johnson. On returning of Smith from holiday the record in the information register is restored.
The mechanism of business processes in 1C:Enterprise 8 allows automating not only the subsequent chains of work, but also performing the conditional routing by controlling the selection of the routes provided in advance based on the route map described by the developer.
The conditional routing is provided by the route points of two kinds:
- conditional jump;
- version selection.
A conditional jump provides an ability to select one or two possible versions of subsequent route (yes/no, more/less, denied/allowed, etc.):
The point of version selection provides an ability to select the subsequent route form unlimited number of versions:
Usage in the application solutions
To use the mechanism of business processes, it is not required to change the ready solutions or these changes are unessential. For example, introduction of unimportant changes in configuration will allows the business processes to properly respond to writing the important database objects. In this case, the users can work in the usual way without using the task list and being not aware of the existence of business processes. However, the operations executed by them will result in promotion of the corresponding business processes further along the route.