2

product_brandOpenERP 6.1のモジュールをインストールしました。

Web クライアントを介して、product_brand_idフィールドを挿入してデバッグ (開発者) モードで product.product.tree ビューを継承することにより、製品リスト ページに製品ブランドを表示することができました。

sale.order.line.treeここで、製品のブランド名を販売注文のビューに表示したいと考えています。

私はそれらが異なるモデルであることに気付きました.1つはproduct.productで、もう1つは ですsale.order.line。OpenERP で他のモデルのフィールドを表示することは可能ですか?

関連する (異なる) モデル間でフィールド名を参照する方法は?

4

1 に答える 1

1

関連フィールドを使用して可能です。最初に、販売注文モデルを継承し、製品ブランド ID の関連フィールドを追加する必要があります。次に例を示します。

from osv import osv, fields
class sale_order_line(osv.osv):
    _inherit = 'sale.order.line'
    _columns = {
        'brand_id': fields.related('product_id','product_brand_id',string='Brand',type='many2one',relation='product.brand')
    }
sale_order_line()

次に、販売注文ビューを継承する必要があります。受注明細ツリーとフォーム ビューは、受注ビュー内で指定されます。SO は、xpath を使用して販売注文フォーム ビューを継承します。例:

<?xml version="1.0" encoding="utf-8"?>
  <openerp>
    <data>
      <record model="ir.ui.view" id="view_order_inherited_brand">
        <field name="name">sale.order.brand</field>
        <field name="type">form</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form" />
        <field name="arch" type="xml">
          <xpath expr="//field[@name='order_line']/tree/field[@name='name']" position="after">
              <field name='brand_id'/>
          </xpath>
        </field>
      </record>
  </data>
</openerp>
于 2012-11-17T13:36:26.947 に答える