2016-10-18 68 views
1

我設法找到一種方法,使產品價格在stock.picking,但現在我有一個視圖錯誤。無效的視圖定義 - Odoo v9社區

這是我的模型:

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_unity does 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> 

那麼,它是如何在表單視圖我不能宣佈它

我缺少的東西?

在此先感謝!

+0

我知道你提到你在列表視圖中沒有出現錯誤。值在列表視圖中是否按預期顯示? –

+0

讓我評論表格和更新,我會回寫 – NeoVe

+0

是的,它顯示了期望的值,但只有樹形視圖,在窗體上拋出錯誤,無法安裝它 – NeoVe

回答

2

您正在添加price_unity字段在視圖內pack_operation_product_ids字段。

pack_operation_product_ids是One2many關係類型與stock_pack_operation對象。

所以我們需要添加/註冊price_unity字段在stock_pack_operation對象。

嘗試用下面的代碼:

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和升級您的自定義模塊。

注:

你沒有得到錯誤庫存的樹採摘,因爲您已經添加/註冊price_unity

您的查看代碼很好。

+0

太棒了!哈哈,非常感謝你! – NeoVe

相關問題