3

ワークフローのあるモデルでは、新しいレコードを作成すると、新しいレコードが開始されますworkflow instanceflow stop次に、通常はcancelまたはdone状態に達するまで、「アクティビティ」間を移行します。

私がOpenERP6.1で経験していることは、workflow instanceがに達するとflow stop、それは死んでいて、それ以上のトランジションを実行できないということです。

ただしReset to draft、終了したワークフローを再開できるボタンをフォームに配置したいと思います。たとえば、OpenerpワークフローサービスのメソッドへのPython呼び出しを介して、これを実現する方法はありますか?

4

2 に答える 2

6

アカウント支払いモジュールで例を見つけることができます。

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
于 2012-09-20T10:45:53.707 に答える
1

ワークフローインスタンスを削除して再作成する必要があります。モデルのメソッドaction_cancel_draftを確認してください。purchase.orderそれはまさにあなたがやりたいことをします。

于 2012-09-20T08:10:52.710 に答える