<?xml version="1.0"?>
<terp><data>
<record model="workflow" id=workflow_id>
<field name="name">workflow.name</field>
<field name="osv">resource.model</field>
<field name="on_create">True | False</field>
</record>
</data></terp>
工作流定义了对某一类型的对象,如采购订单(PO)的处理流程。例如, PO 单的一般处理流程也许是:
审批 PO,审批的同时
系统自动 产生收货单,工仓库收货;
系统自动产生凭据(Invoice),供财务确认付款;
系统自动产 生 PDF 的采购订单,并自动 EMail 给该 PO 单对应的供应商。但对于特定的某个 PO 对象,需要一个工作流 实例,以记录本 PO 对象处在流程的哪个阶段,如 PO1 尚在 draft 状态,PO2 已经审批通过。 PO 单的审批,以及对应的 a)、b)、c)的动作,都可以在 OE 的工作流中定义解决,而不需要全编码 在 PO 对象上。即工作流实现了流程处理相关的代码和被处理对象的代码相分离,降低了不同处理代 码的耦合性,增加了系统功能的柔软性。