无效的视图定义 - Odoo v9 community
Invalid view definition - Odoo v9 community
我设法找到了在 stock.picking
上显示产品价格的方法,但现在我有一个视图错误。
这是我的模型:
from openerp import models, fields, api
import openerp.addons.decimal_precision as dp
class StockPicking(models.Model):
_inherit = 'stock.picking'
product_id = fields.Many2one("product.product", "Product")
price_unity = fields.Float(string="Precio", store=True, readonly=True, related="product_id.lst_price")
现在,我认为有问题的代码:
<record id="view_stock_picking_form" model="ir.ui.view">
<field name="name">Stock Picking Price Form</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<xpath expr="//page/field[@name='pack_operation_product_ids']/tree/field[@name='qty_done']" position="after">
<field name="price_unity"/>
</xpath>
</field>
</record>
它说 Error details:
Field
price_unitydoes not exist
这怎么可能?
在树视图中它不会抛出此错误:
<record id="view_stock_picking_tree" model="ir.ui.view">
<field name="name">Stock Picking Price Tree</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.vpicktree"/>
<field name="arch" type="xml">
<field name="state" position="before">
<field name="price_unity"/>
</field>
</field>
</record>
那么,为什么在表单视图中我无法声明它'
我是不是漏掉了什么?
提前致谢!
您正在 pack_operation_product_ids 字段中添加 price_unity 字段。
pack_operation_product_ids 是具有 stock_pack_operation 对象的 One2many 关系类型。
所以我们需要在stock_pack_operation对象中add/registerprice_unity字段
尝试使用以下代码:
class StockPackOperation(models.Model):
_inherit = 'stock.pack.operation'
price_unity = fields.Float(string="Precio", store=True, readonly=True, related="product_id.lst_price")
#product_id is already in table so no need to add/register
之后重启 Odoo 服务器并升级您的自定义模块。
注意:
您在选股树中没有出现错误,因为您有 added/registered price_unity.
你的查看代码很好
我设法找到了在 stock.picking
上显示产品价格的方法,但现在我有一个视图错误。
这是我的模型:
from openerp import models, fields, api
import openerp.addons.decimal_precision as dp
class StockPicking(models.Model):
_inherit = 'stock.picking'
product_id = fields.Many2one("product.product", "Product")
price_unity = fields.Float(string="Precio", store=True, readonly=True, related="product_id.lst_price")
现在,我认为有问题的代码:
<record id="view_stock_picking_form" model="ir.ui.view">
<field name="name">Stock Picking Price Form</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<xpath expr="//page/field[@name='pack_operation_product_ids']/tree/field[@name='qty_done']" position="after">
<field name="price_unity"/>
</xpath>
</field>
</record>
它说 Error details:
Field
price_unitydoes not exist
这怎么可能?
在树视图中它不会抛出此错误:
<record id="view_stock_picking_tree" model="ir.ui.view">
<field name="name">Stock Picking Price Tree</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.vpicktree"/>
<field name="arch" type="xml">
<field name="state" position="before">
<field name="price_unity"/>
</field>
</field>
</record>
那么,为什么在表单视图中我无法声明它'
我是不是漏掉了什么?
提前致谢!
您正在 pack_operation_product_ids 字段中添加 price_unity 字段。
pack_operation_product_ids 是具有 stock_pack_operation 对象的 One2many 关系类型。
所以我们需要在stock_pack_operation对象中add/registerprice_unity字段
尝试使用以下代码:
class StockPackOperation(models.Model):
_inherit = 'stock.pack.operation'
price_unity = fields.Float(string="Precio", store=True, readonly=True, related="product_id.lst_price")
#product_id is already in table so no need to add/register
之后重启 Odoo 服务器并升级您的自定义模块。
注意:
您在选股树中没有出现错误,因为您有 added/registered price_unity.
你的查看代码很好