视图未返回
View is not returned
我有这个型号
class RawMaterialReport(models.Model):
_name = 'raw.material.report'
_description = 'Raw Material Report'
product_id = fields.Many2one(
'product.product', string='Product',
required=False,
)
@api.multi
def open_raw_materials(self):
mrp_productions = self._context.get('active_ids')
mrp_production =
self.env['mrp.production'].browse(mrp_productions)
raw_products =
mrp_production.mapped('move_raw_ids.product_id')
for p in raw_products:
self.create({'product_id': p.id})
view_id = self.env.ref('trk.raw_material_report_tree').id
view = {
'name': _('Details'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'raw.material.report',
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
# 'res_id': self.id,
}
return view
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="raw_material_report_tree" model="ir.ui.view">
<field name="name">raw.material.report.tree</field>
<field name="model">raw.material.report</field>
<field name="priority">2</field>
<field name="arch" type="xml">
<tree string="Sales Orders" >
<field name="product_id" />
</tree>
</field>
</record>
<record id="action_raw_material_report"
model="ir.actions.act_window">
<field name="name">zzzzz</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">raw.material.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
</record>
<record id="action_server_learn_skill"
model="ir.actions.server">
<field name="name">test</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_raw_material_report" />
<field name="binding_model_id"
ref="mrp.model_mrp_production" />
<field name="state">code</field>
<field name="code">model.open_raw_materials()</field>
</record>
<menuitem id="menu_sale_order1"
name="test"
action="action_raw_material_report"
parent="sale.sale_order_menu"
sequence="2" />
</data>
</openerp>
当我开始行动时,运行 我的方法一切顺利,直到我尝试 return 一个视图,它只是没有将我重定向到我的树视图。什么都没发生。但是 raw.material.report
记录已创建,如果我转到我的菜单,我可以检查它们,它会打开它们的列表视图。所以我的 return 有点问题,有人可以帮忙吗?我实际上尝试过 return 这样的操作
action = self.env.ref('trk.action_raw_material_report').read()[0]
return action
但还是一样,它只是没有将我重定向到我的树视图。
试试这个
return {
'name': _('Details'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'raw.material.report',
'views': [(view_id_tree[0].id, 'tree'),(False,'form')],
'type': 'ir.actions.act_window',
# 'res_id': self.id,
'target': 'current',
}
问题可能是因为在视图 [(view_id, 'form')] 而不是 [(view_id, 'tree')][=11 中传递了错误的 ID =]
问题是 action_server_learn_skill
我需要
<field name="code">action = model.open_raw_materials()</field>
而不是
<field name="code">model.open_raw_materials()</field>
因为该方法没有返回任何操作。
我有这个型号
class RawMaterialReport(models.Model):
_name = 'raw.material.report'
_description = 'Raw Material Report'
product_id = fields.Many2one(
'product.product', string='Product',
required=False,
)
@api.multi
def open_raw_materials(self):
mrp_productions = self._context.get('active_ids')
mrp_production =
self.env['mrp.production'].browse(mrp_productions)
raw_products =
mrp_production.mapped('move_raw_ids.product_id')
for p in raw_products:
self.create({'product_id': p.id})
view_id = self.env.ref('trk.raw_material_report_tree').id
view = {
'name': _('Details'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'raw.material.report',
'views': [(view_id, 'form')],
'type': 'ir.actions.act_window',
# 'res_id': self.id,
}
return view
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="raw_material_report_tree" model="ir.ui.view">
<field name="name">raw.material.report.tree</field>
<field name="model">raw.material.report</field>
<field name="priority">2</field>
<field name="arch" type="xml">
<tree string="Sales Orders" >
<field name="product_id" />
</tree>
</field>
</record>
<record id="action_raw_material_report"
model="ir.actions.act_window">
<field name="name">zzzzz</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">raw.material.report</field>
<field name="view_type">form</field>
<field name="view_mode">tree,kanban,form</field>
</record>
<record id="action_server_learn_skill"
model="ir.actions.server">
<field name="name">test</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="model_raw_material_report" />
<field name="binding_model_id"
ref="mrp.model_mrp_production" />
<field name="state">code</field>
<field name="code">model.open_raw_materials()</field>
</record>
<menuitem id="menu_sale_order1"
name="test"
action="action_raw_material_report"
parent="sale.sale_order_menu"
sequence="2" />
</data>
</openerp>
当我开始行动时,运行 我的方法一切顺利,直到我尝试 return 一个视图,它只是没有将我重定向到我的树视图。什么都没发生。但是 raw.material.report
记录已创建,如果我转到我的菜单,我可以检查它们,它会打开它们的列表视图。所以我的 return 有点问题,有人可以帮忙吗?我实际上尝试过 return 这样的操作
action = self.env.ref('trk.action_raw_material_report').read()[0]
return action
但还是一样,它只是没有将我重定向到我的树视图。
试试这个
return {
'name': _('Details'),
'view_type': 'form',
'view_mode': 'tree, form',
'res_model': 'raw.material.report',
'views': [(view_id_tree[0].id, 'tree'),(False,'form')],
'type': 'ir.actions.act_window',
# 'res_id': self.id,
'target': 'current',
}
问题可能是因为在视图 [(view_id, 'form')] 而不是 [(view_id, 'tree')][=11 中传递了错误的 ID =]
问题是 action_server_learn_skill
我需要
<field name="code">action = model.open_raw_materials()</field>
而不是
<field name="code">model.open_raw_materials()</field>
因为该方法没有返回任何操作。