Odoo工作流

转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826184.html

 

一:工作流

     工作流是与业务流程相关联的模型,可用于跟踪工序的动态演变过程。

     工作流、活动(节点或操作)、转换 通常在xml里以record定义。

     在工作流中处理的单个流程称为工作项。

 

二:工作流的开发流程

    1:新建workflow.xml视图文件,并在manifest中注册。

    2:模型内定义工作流状态以及节点点击事件:用下拉列表保存节点状态,点击相应节点就转换为相应状态

wkf = fields.Selection([
        ('节点值', "节点显示内容"),
        ('节点值', "显示内容"),
        ('节点值', "显示内容"),
    ], default='默认节点值')
#函数:改变工作流节点为XX节点值 @api.multi def action_节点值(self): self.wkf = '节点值'
.....

    3:在工作流所在模型的form表单头定义工作流按钮以及工作流状态条,显示工作流:

    工作流在视图中的位置:

#views.xml
......

     4:在1中新建的workflow.xml文件中,定义工作流,定义3中form表单头的工作流按钮点击事件,定义工作流转换。

    分为:定义工作流——定义按钮点击事件(根据前面form表单中button名作为信号,调用模型中的点击函数)——定义节点间的转换(起点/终点,分别引用前面定义的节点点击事件id)


    
        
            
                
                
                    
                    数据模型
                    True
                
function 数据模型中起点状态的点击函数()
function 节点函数()
function 节点点击函数() btn_节点2(在另一个视图的form表单定义的工作流按钮id) 一个条件或一个boolean字段

 

     5:也可以定义工作流根据某些值而自动转换:


    
    
    条件表达式

      6:也可以使用服务器动作来定义节点转换函数,把   起点——>终点   简化为   ?——>终点  的转换:


    
    
    
model.search([domain表达式,过滤出需要变化工作流的记录])]).action_节点值()//节点按钮点击事件
    



    
    
    
    dummy
    

 

转载于:https://www.cnblogs.com/ygj0930/p/10826184.html

你可能感兴趣的:(Odoo工作流)