工作流也是要使用按钮进行控制,和普通按钮最大的不同就是,当工作流终止的时候是不能回滚的,也就是不能返回的,而普通的按钮则是可以返回的
想编写一段完整的工作流,首先要有详细的设计,知道自己应该增加几个按钮,每个按钮需要跳转的位置,同时状态的变化是什么,这可以用图表的方式展示出来
例:流程:草稿»已提交»成功»失败要求中间任意状态可以向后退回
首先确定使用了四种状态,因为需要向后退回,从图中可以明显的看出来一共需要四个按钮
然后确定使用的动作,图中每一条线就是一个动作,所以我们可以看出需要四个动作,而且每一个动作都需要一个方法,所以在py文件中要写四个方法,这与动作时一一对应的分析完成后,开始具体的写代码
首先根据自己的设计确定每个方法的名字,最好是以状态的变化命名,方便查看(例:draft_to_review),确定名字后先在xml中新增四个按钮,对应四个动作
需要注意的是type的内容,在openerp中有三种不同的类型:
Object , Action和
workflow.其默认值是workflow三者的却别在于:
Object:用于调用py程序中写的方法(method) action:用于调用xml文件中写的动作(action),比如, 如果你点击一个按钮后, 想让它打开一个向导(wizard),那么就可以使用
ty