解密 Odoo14 web studio 审批

Odoo 14 引入了 自定义审批功能,是 web studio 实现的。

   

这个功能实现的功能是, 在单据的按钮上设置审批列表,当所有人都审批后, 单据上按钮所绑定的动作才会被执行。

   

例如。 在PO 的 确认按钮设置 审批,一共设置 4个审批群组

   

设置好之后, 就会在 确认按钮上,显示审批列表

在 点击 按钮时,会检查相关的 审批是否完成,如果完成了,则触发按钮绑定的动作; 如果没有完成, 则在 消息提示 某些审批项 没有完成, 如图示

   

   

   

技术细节

   

1,审批列表是 在 web client外挂的,在表单视图展示的时候,展示 审批组件

   

审批组件 使用 _fetchApprovalData() 通过RPC ,从后台读取 审批数据

   

   

   

2, 在 点击 动作按钮的时候, 通过预埋 _callButtonAction () 接口,调用 _checkApproval () 检查 审批列的完成情况

   

   

如果 审批未完成,则在通知栏 显示通知

   

   

3, 在后台 使用 模型 studio.approval.rule 和 模型 studio.approval.entry 来记录 审批列表