代码之家  ›  专栏  ›  技术社区  ›  Madis

odoo 8质量确认制造

  •  -1
  • Madis  · 技术社区  · 8 年前

    @api.multi
    def mass_action(self):
        mo_obj = self.env['mrp.production']
        mo_ids = self.env.context.get('active_ids')
        if self.confirm:
            domain = [('state', '=', 'draft'),
                      ('id', 'in', mo_ids)]
            draft_mo_lst = mo_obj.search(domain)
            for x in draft_mo_lst:
                x.action_confirm()
    

    如果我确认使用其他模板中的创建按钮或功能创建的生产任务单,则在使用此向导后,按“强制保留”按钮后,生产不会进入就绪状态。似乎它保留了产品并将其分配到库存移动数据库表中,但MO本身并没有将状态更改为就绪。在那之后,莫似乎被卡住了。

    我是错过了什么,还是需要以不同的方式去做?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Madis    8 年前

    以下代码修复了该问题。action\u confirm()函数必须通过工作流信号“button\u confirm”调用。

    @api.multi
    def mass_action(self):
        mo_obj = self.env['mrp.production']
        mo_ids = self.env.context.get('active_ids')
        from openerp import workflow
        if self.confirm:
            domain = [('state', '=', 'draft'),
                      ('id', 'in', mo_ids)]
            draft_mo_lst = mo_obj.search(domain)
            for x in draft_mo_lst:
                workflow.trg_validate(self._uid, 'mrp.production', x.id, 'button_confirm', self._cr)