我的代码有问题。
if not context.get('account_id', False):
wizard_id = self.env.get('ir.model.data').get_object_reference('l10n_mn_consume_order', 'action_consumable_material_in_use_wizard')[1]
result = **self.env.get('ir.actions.act_window').read(wizard_id)**
result['context'] = dict(self.context.items(), active_id=asset.id, active_ids=[asset.id])
return result
print 'some action'
错误是:
文件" /home/delgertsetseg/workspace/odoo/addons/web/controllers/main.py",第877行,在_call_kw中 return call_kw(request.env [model],method,args,kwargs)
文件" /home/delgertsetseg/workspace/odoo/odoo/api.py",第689行,在call_kw中 return call_kw_multi(method,model,args,kwargs)
文件" /home/delgertsetseg/workspace/odoo/odoo/api.py" ;,第680行,在call_kw_multi中 result = method(recs,* args,** kwargs)
文件" / home / delgertsetseg / workspace / oderp10 / addons / l10n_mn_consume_order /models/consume_material_in_use.py" ;,第113行,在button_done中 result = self.env.get(' ir.actions.act_window')。read(wizard_id)
文件" /home/delgertsetseg/workspace/odoo/odoo/addons/base/ir/ir_actions.py",第317行,处于读数
result = super(IrActionsActWindow,self).read(fields,load = load)
文件" /home/delgertsetseg/workspace/odoo/odoo/models.py",第2993行,在字段中的readfor名称中: TypeError:' int'对象不可迭代
当你看到我的问题时。 我需要使用向导中传递的值进行操作。然后我有一些动作 我试试这个解决方案:
return {
'name': _('Account?'),
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'consumable.material.in.use.wizard',
'views': [(view.id, 'form')],
'view_id': view.id,
'target': 'new',
# 'res_id': wiz.id,
'context': self.env.context,
}
解决方案无法在代码后运行返回。
我没有在向导中传递价值。
请帮助我。
答案 0 :(得分:2)
似乎错误是由于 l10n_mn_consume_order 的 button_done 方法,您尝试返回某个操作。
这是克服错误的可能解决方案。
@api.multi
def button_done(self):
self.ensure_one()
# your code here
action = self.env.ref('l10n_mn_consume_order.wizard_action_id').read()[0]
# replace the wizard_action_id with your wizard's action
action['context'] = dict(self.context.items(), active_id=asset.id, active_ids=[asset.id])
return action
确保在向导视图文件中存在 ir.actions.act_window 记录。
希望这有帮助。