如何添加批准工作流OpenERP 7
问题描述:
这里显示我需要添加批准工作流的模型类。如何添加批准工作流OpenERP 7
class bpl_work_update(osv.osv):
_name = "bpl.work.update"
_description = "BPL Work Update"
_columns = {
'bpl_company_id':fields.many2one('res.company', 'Company', help='Company'),
'ref_no': fields.char('Reference No', size=10,),
'offered_date': fields.date('Offered Date'),
# below lines are related to work update approve Workflow (i refer hr.holidays model for)
'state': fields.selection([('draft', 'To Submit'), ('cancel', 'Cancelled'), ('confirm', 'To Approve'), ('refuse', 'Refused'), ('validate1', 'Second Approval'), ('validate', 'Approved')],
'Status', readonly=True, track_visibility='onchange'),
'user_id': fields.many2one('hr.employee', 'Add records', invisible=False, readonly=True),
'manager_id': fields.many2one('hr.employee', 'First Approval', invisible=False, readonly=True),
}
_defaults = {
'bpl_company_id':_default_company,
'offered_date':fields.date.context_today,
'state': 'draft',
'user_id': lambda obj, cr, uid, context: uid,
}
bpl_work_update()
这里显示了我view.xml用文件(我得到这些工作流处理相关的只有在这里行)
<header>
<button string="Approve" name="validate" states="confirm"
type="workflow" groups="group_checkroll_user" class="oe_highlight" />
<button string="Validate" name="second_validate" states="validate1"
type="workflow" groups="group_checkroll_manager" class="oe_highlight" />
<button string="Refuse" name="refuse" states="confirm,validate,validate1"
type="workflow" groups="group_checkroll_manager" />
<button string="Reset to New" name="set_to_draft" states="cancel,refuse"
type="object" groups="group_checkroll_manager" />
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate"
statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}' />
</header>
我不知道如何实施这种类型的审批工作流程。 我参考hr.holidays模型班,但无法得到清楚的想法。 请帮我添加关卡以批准我的工单要求。 &请给我一个链接,参考有关这种类型的工作流程创建..
现在,工作流程按钮添加到形式和正确显示,但如何处理这些。 这里是我的屏幕
答
您可以参考以下链接: http://doc.openerp.com/v6.1/developer/07_workflows.html
您需要创建,你需要首先定义为工作流哪个对象创建,不同的活动一个新的workflow.xml文件,您希望在该工作流程和活动之间的不同转场中展示。首先你参考上面的链接,理解它,然后去开发它。
您通过在按钮中分配type =“workflow”来做了正确的事情。这里,按钮的名称正在作为转换中的信号工作。这意味着如果你的流程会得到这个信号,它将会在转换中检查它并从转换中检查它,它将触发该转换被创建的那个活动的功能。
感谢Priyesh ,,你可以给我一个openerp插件的例子,以供参考 (更容易hr.holidays): - )\ – 2013-05-06 07:25:41
请参阅idea模块。它的工作流程更容易理解! – 2013-05-06 07:31:34
感谢Priyesh.now我参考了教程中的sale_workflow。 它更容易理解,当它完成后将通知和更新发布:-) – 2013-05-06 07:43:19