Workflows are used to define the behaviour of a given document. They are used by developers and system implementers to determine which object should execute which actions and at which moments. These are principally technical processes defined in a vertical way on the lifecycle of a complete object (represented by a document). Changing a workflow will have a direct impact on the behaviour of the software in response to user actions. You handle all possible exceptions there, so that the software is robust.
Example of a workflow handling a customer order
Unlike workflows, user processes represent workflows across all of a company and its documents. They are used by end-users to locate an action for more complete handling. A change of user process will not have any effect on the software but will show the user another way of working on a given problem.
Example of a process handling a customer order
Processes are used by end-users to help them understand the problems which have not been handled in Odoo ERPOnline. As well as providing user help, processes provide functions such as:
- integration with Odoo ERPOnline Help and the company's quality manual,
- showing the user the menu for finding a specific document.
Relationship between workflow and user process
User processes are thus connected to technical workflows. If you modify the software's behaviour with a workflow, the changes will be directly visible in the user processes that are based on the modified document. So if you modify certain transitions on a workflow they will automatically be shown in the process corresponding to the modified document.
To get maximum benefit from the power of user processes and the workflow engine, Odoo ERPOnline provides an integrated workflow editor and user process editor. These enable you to modify them through the client interface.
You will only work with the process editor in this chapter. If you want to view and edit the workflow of a document, click on the
Edit Workflow in the
Debug View to the left of the document. Odoo ERPOnline opens a list view of the workflow for the selected document type.
You can also edit a workflows from menu
Settings > Technical > Workflows > Workflows and select workflow that you want to change. To see this technical menu , you have to give
Technical Features access right to user.
Regardless of which Odoo ERPOnline screen you are in you can call up a process on the current document by clicking the (question mark) icon. Depending on the document, you can have several processes defined using it. Odoo ERPOnline then asks you to choose which one of them you want.
For example, if you are in a meeting form, Odoo ERPOnline will ask you to choose from the processes it knows about that involve such forms:
- processes for selecting and inducting new employees,
- tracing customer orders in pre-sales,
- processes for visiting customers and handling expenses.
Button for entering a user process from a form
The element colored red shows the active process for the selected document. Elements in grey are the states that the selected document will not go through because of its configuration. You can use the different icons to open the document, print it, or get its documentation.
Some states have an image inside of arrows formed into a circle. These show that the state refers to another process. To go to this other process, you can click on the title of the state. For example, you can click on the invoice in the customer order management workflow to see in detail how that invoice is handled.
A state that refers to another workflow
Use the menus under
Settings > Technical > Enterprise Process > Processes to define new processes or modify existing processes. When entering a process, Odoo ERPOnline shows you the list of states available for that process.
Defining a process
You can add a new state or modify an existing state. A state can be associated with an object (whose instances are represented by documents). If that is the case, choose it in the case object. You can set an expression that shows if the object can be found in that state or not. Expressions are in Python format.
You can also link to a menu so that users can learn which menu to use to access objects in a state. You can set the conditions in the section
Conditions. These expressions, too, are encoded in
Once the node has been defined, you should set the process transitions this object from menu
Settings > Technical > Enterprise Process > Process Transitions. For each transition you can:
- Give the source and target states,
- Set up a list of buttons that start various transitions in the process,
- Map between workflow transitions and the document that is selected,
- Put an explanatory notice in different languages.
Defining a process transition