2013-03-20 85 views
0

我想使用下面的代码在销售订单的sale.order.line.tree视图中显示产品类别。它显示了集团下的类型按钮,按按钮,但在单击它,我收到以下错误,我已经不知道如何解决的bug:assert groupby_def and groupby_def._classic_write, "Fields in 'groupby' must be regular database-persisted fields (no function or related fields), or function fields with store=True" AssertionError: Fields in 'groupby' must be regular database-persisted fields (no function or related fields), or function fields with store=TrueOpenerp 6.1将产品类别放入销售订单行

这里是我的代码:

from osv import fields, osv<code> 
class sales_order_line_category(osv.osv): 
_name='sale.order.line' 
_inherit='sale.order.line' 
_columns={'categ_id': fields.related('product_id', 'categ_id', type='many2one', relation='product.categ_id'), 

} 

sales_order_line_category()

我的观点:

`<?xml version="1.0" encoding="utf-8"?> 

<record id="view_sale_orderlinecategory" model="ir.ui.view"> 
     <field name="name">sale.order.line.categoryinherit</field> 
     <field name="model">sale.order.line</field> 
     <field name="type">tree</field> 
     <field name="inherit_id" ref="sale.view_order_line_tree"/> 
     <field name="arch" type="xml"> 
      <field name="name" position="after"> 
         <field name="categ_id" string="Category"/> 
      </field>    
     </field>  

    </record> 



    <record id="view_sale_orderlinecategory2" model="ir.ui.view"> 
     <field name="name">sale.order.line.categoryinherit2</field> 
     <field name="model">sale.order.line</field> 
     <field name="type">search</field> 
     <field name="inherit_id" ref="sale.view_sales_order_uninvoiced_line_filter"/> 
     <field name="arch" type="xml"> 

    <group expand="0" string="Group By..." > 
       <filter string="Category of Product" icon="terp-stock_symbol-selection" name="Category"      context="{'group_by':'categ_id'}"/> 
      </group> 


     </field> 
    </record> 

    <record id="view_sale_orderlinecategory3" model="ir.ui.view"> 
     <field name="name">sale.order.line.categoryinherit3</field> 
     <field name="model">sale.order,line</field> 
     <field name="type">search</field> 
     <field name="inherit_id" ref="sale.view_sales_order_uninvoiced_line_filter"/> 
     <field name="arch" type="xml"> 


      <field name="name" position="before"> 
         <field name="categ_id" string="Category"/> 
         </field> 


     </field> 
    </record> 

</data> 

`

回答

0

请你用下面的代码替换试试?

'categ_id': fields.related('product_id', 'categ_id', type='many2one', relation='product.category', store=True), 

检查,你试图通过categ_id做组

希望这有助于你的领域categ_id必须出现在sale.order.line的树状视图

+0

感谢您的帮助,但应用代码我现在有一个新的错误:'ProgrammingError:列sale_order_line.price_subtotal不存在 LINE 1:..._线 “product_uom”,sale_order_line “salesman_id”,sale_order ...' – omadegbo 2013-03-21 22:20:59

+0

领域categ_id不会出现在树视图。请问我错过了什么? – omadegbo 2013-03-21 22:23:24

+0

它不会直接出现,你必须把现场categ_id在sale.order.line – user1576199 2013-03-22 04:57:14