在具有工作流的模型中,当您创建新记录时,它会启动一个新记录workflow instance.然后它将在"活动"之间转换,直到达到flow stop一个cancel或多个done状态.
我在OpenERP 6.1中遇到的是,一旦workflow instance到达它flow stop,它已经死了,你不能在它上面执行更多的转换.
但我想Reset to draft在表单上有一个按钮,允许重新启动已终止的工作流.有没有办法实现这一点,比如说,通过Python调用Openerp工作流服务的方法?
您可以在帐户付款模块中找到示例.
def set_to_draft(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state': 'draft'})
wf_service = netsvc.LocalService("workflow")
for id in ids:
wf_service.trg_create(uid, 'your.model.name', id, cr)
return True
Run Code Online (Sandbox Code Playgroud)