获取工作流服务:wf_service = netsvc.LocalService("workflow")
删除对象对应记录的工作流:
wf_service.trg_delete(uid, 'kl.qingjd', id, cr)
#传入对象名称,对象ID
创建对象对应记录的工作流:
wf_service.trg_create(uid, 'kl.qingjd', id,
cr) #传入对象名称,对象ID
手动触发对象对应记录的工作流(信号):
wf_sale_order.trg_validate(uid, 'sale.order', ids[0], 'order_confirm', cr) #传入对象名称,对象ID,信号名称

示例代码:

#设置为草稿状态,需要重新初始化工作流
    def
set_to_draft(self, cr, uid, ids,
context=None):
        for rec in
self.browse(cr, uid, ids,
context=context):
           
#当请假单不是自己创建的时,不能设置为草稿
           
if  rec.create_uid.id !=
uid:
               
raise
osv.except_osv(_(u'警告!'),_(u'您不能设置他人创建的单据为草稿状态.'))
           

        self.write(cr, uid, ids,
{
            'state':
'draft',
           
'manager_id':
False,
           
'refuse_notes':False
       
})
       
#重新初始化工作流
       
wf_service =
netsvc.LocalService("workflow")
       
for id in
ids:
           
wf_service.trg_delete(uid,
'kl.qingjd', id, cr)
#传入对象名称
           
wf_service.trg_create(uid,
'kl.qingjd', id, cr)
        return
True

def sale_confirm_invoice(self, cr, uid, ids,
context=None):
       
#自动确认订单,将自动生成发货单
       
#action_button_confirm
        assert
len(ids) == 1, 'This option should only be used for a single id at a
time.'
        wf_sale_order =
netsvc.LocalService('workflow')
       
wf_sale_order.trg_validate(uid,
'sale.order', ids[0], 'order_confirm',
cr)

openerp学习笔记 调用工作流的更多相关文章

  1. openerp学习笔记 对象调用(创建、修改),用于后台代码创建和更新对象

    #服务卡创建,自动更新服务卡为开卡状态    def create(self, cr, uid, values, context=None):        values['state'] = '1' ...

  2. Activiti工作流学习笔记(四)——工作流引擎中责任链模式的建立与应用原理

    原创/朱季谦 本文需要一定责任链模式的基础,主要分成三部分讲解: 一.简单理解责任链模式概念 二.Activiti工作流里责任链模式的建立 三.Activiti工作流里责任链模式的应用 一.简单理解责 ...

  3. openerp学习笔记 webkit 打印

    1.webkit 打印需要安装的支持模块 请首先安装 Webkit 报表引擎(report_webkit),再安装 Webkit 报表的支持库(report_webkit_lib),该模块讲自动安装和 ...

  4. openerp学习笔记 domain 增加扩展支持,例如支持 <field name="domain">[('type','=','get_user_ht_type()')]</field>

    示例代码1,ir_action_window.read : # -*- coding: utf-8 -*-from openerp.osv import fields,osv class res_us ...

  5. openerp学习笔记 跟踪状态,记录日志,发送消息

    跟踪状态基础数据: kl_qingjd/kl_qingjd_data.xml <?xml version="1.0"?><openerp>    <d ...

  6. openerp学习笔记 模块结构分析

    以OpenERP7.0中的 hr_expense 模块为例: 如图中代码所示: __init__.py :和普通 Python 模块中的__init__.py 作用相同,主要用于引用模块根目录下的.p ...

  7. openerp学习笔记 统计、分析、报表(过滤条件向导、分组报表、图形分析、比率计算、追加视图排序)

    待解决:图形中当改变分组时,图例不正确            存储比率计算时,分组合计不正确 wizard:过滤条件向导,用于输入过滤条件 wizard/sale_chart.py # -*- cod ...

  8. openerp学习笔记 context 的应用

    1.在Action中定义,context用于传递搜索条件和分组条件,在搜索视图中默认显示: 示例代码: <record model="ir.actions.act_window&quo ...

  9. openerp学习笔记 计算字段支持搜索

    示例1: # -*- encoding: utf-8 -*-import poolerimport loggingimport netsvcimport toolslogger = netsvc.Lo ...

随机推荐

  1. WCF架构日记-1

    WCF功能很强大,但是真的能把其中的原理说清楚,对于我比较困难,今天对之前的笔记总结一下:     首先WCF的契约可以总结为四大类:消息契约.数据契约.服务契约.错误处理契约. [客户端处理是如何处 ...

  2. leetcode 题解Merge Two Sorted Lists(有序链表归并)

    题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici ...

  3. Android必会小功能总结

    1.获取屏幕尺寸.密度等信息. 1)最常用的方法: WindowManager windowManager = getWindowManager(); Display display = window ...

  4. UML类图中的六大关系:泛化、实现、依赖、关联、聚合、组合关系

    UML定义的关系主要有:泛化.实现.依赖.关联.聚合.组合,这六种关系紧密程度依次加强,分别看一下 1.泛化 概念:泛化是一种一般与特殊.一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并 ...

  5. Kinect For Windows V2开发日志四:使用OpenCV显示深度图像

    代码示例: #include <Kinect.h> #include <iostream> #include <opencv2\highgui.hpp> using ...

  6. 剑指Offer42 左旋字符串

    /************************************************************************* > File Name: 42_LeftRo ...

  7. OpenShare新功能@2014年第三季度

    新功能@2014第三季度 新增"多租户"的支持:巨型企业集团的私有云需要多租户模式,现在OpenShare可以从根本上完美支持 租户之间完全隔离,这是最高安全性 同时每个租户可以使 ...

  8. 【CSS3】---first-of-type选择器+nth-of-type(n)选择器

    first-of-type选择器 “:first-of-type”选择器类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素. 示 ...

  9. Oracle 学习笔记2:几个入门常用命令

    oracle提供的交互方式有两种:sqlplus(命令行) sqlplusw(图形界面) 进入sqlplus方式:cmd中输入sqlplus 进入sqlplusw方式:cmd中输入sqlplusw 更 ...

  10. iOS - 网络语线程(OC)

    1. 检测网络状态 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the vi ...