我在OpenERP 6.0.4中有一点问题,
我想用python函数调用向导,
但它一直给我这个错误:
环境信息:
系统:Windows-Vista-6.1.7601-SP1
操作系统名称:nt
操作系统版本:Vista
操作系统版本:6.1.7601
操作系统架构:32位
操作系统区域设置:en_US.cp1252
Python版本:2.5.2
OpenERP-Client版本:6.0.4
最新修订号& ID:未找到Bazaar包!Traceback(最近一次调用最后一次):
文件“netsvc.pyo”,第489行,在发货中 文件“service \ web_services.pyo”,第599行,在发送中 文件“osv \ osv.pyo”,第122行,在包装器中 文件“osv \ osv.pyo”,第176行,执行
中 在execute_cr中输入文件“osv \ osv.pyo”,第167行 文件“osv \ orm.pyo”,第2946行,阅读中 文件“osv \ orm.pyo”,第2946行,在 KeyError:'id'
这是向导的类:
class mrp_bom_product(osv.osv_memory):
_name='mrp.bom.product'
_columns={
'product_id':fields.many2one('product.product','Product')
}
mrp_bom_product()
这是调用向导的函数:
def copy(self, cr, uid, id, default={}, context=None):
return {
'type': 'ir.actions.act_window',
'res_model': 'mrp.bom.product',
'view_mode': 'form',
'view_type': 'form',
'views': [(False, 'form')],
'target': 'new',
}
这是xml中向导的记录:
<record id="mrp_bom_product_view" model="ir.ui.view">
<field name="name">mrp.bom.product.view</field>
<field name="model">mrp.bom.product</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Pick Product">
<field name="product_id"/>
<group colspan="4">
<button string="Cancel" special="cancel" icon="gtk-cancel"/>
<button string="Ok" name="saveproduct" type="object" icon="gtk-ok"/>
</group>
</form>
</field>
</record>
<record id="mrp_bom_product_action" model="ir.actions.act_window">
<field name="name">mrp.bom.product.act</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.bom.product</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
你能帮我弄清楚我的代码有什么问题吗? 真的很感激,谢谢:)。
答案 0 :(得分:1)
copy()是一个inbuild openerp orm函数,它返回新记录的id。所以请更改你的功能名称。