3

別のモデルからフィールド値を取得する方法を理解するのに苦労しています。

res.partnerカスタム モジュールを作成して、モジュールにカスタム フィールドを追加しました。

class custom_partner_fields(osv.osv):
_inherit = 'res.partner'

_columns = {
'RTN': fields.char('RTN Numerico'),
}

_defaults = {

}
custom_partner_fields()

次に、新しい顧客を作成するときにフォーム ビューのカスタム xml を作成するとRTN、顧客作成フォームにフィールドが表示されるようになりました。

ここで、新しい見積もり/販売注文を作成するときに、この新しいフィールドが表示されるようにします。私は自分の顧客を選択したときにその値を取得したいと思っています (onchange関数を使用する必要があると思いますが、その使用方法がわかりません!)、そのためのカスタムモジュールを作成しました:

class custom_saleorder_fields(osv.osv):

_inherits = 'sale.order'

_columns = {
'partner_rtn': fields.char('RTN'),
}
custom_saleorder_fields()

これには関数やリレーショナル フィールドのようなものを使用する必要があると思いますが、私が試したことはまだ機能していません。

次に、販売注文フォーム ビューからカスタム ビューを作成し、partner_field.

ここで、選択した顧客に基づいてモジュールから特定のRTN値にアクセスする方法を知りたいと思います。res.partnercustom_saleorder_fields

一方、この新しい値の主な目的は、販売ワークフローに表示することと、レポートに印刷することです。

4

2 に答える 2

1

関係フィールドによって modelA フィールドを modelB に取り込みます。たとえば、別のモデルで many2one フィールドを使用します。

openerp インポート モデル、フィールド、API から

クラス部品プロバイダークラス (models.Model):

_name='partsprovider.vechicle'
#_rec_name='parts_provider'

id=fields.Integer()
parts_provider=fields.Many2many('supplier.car', string="Parts provider")
parts_name=fields.Many2many('selection.selection',string="Parts Name")
parts_price=fields.Float(string="Price of the Part")

class selectionsxample(models.Model): _name='selection.selection'

name=fields.Char('name',required=True) 
value=fields.Char('value',required=True)
于 2016-05-30T07:33:19.740 に答える
1

販売注文モデルにリレーショナル フィールドを追加する必要があります。コードを適用する前に、odoo のドキュメントを参照する必要があります。

Odoo Field Docでは、fields.related がどのように機能するかを知ることができます。

class custom_saleorder_fields(osv.osv):
    _inherits = 'sale.order'

    _columns = {
        'partner_rtn': fields.related('partner_id','RTN',type="char",relation="res.partner",string="RTN",store=True,readonly=True),
    }
custom_saleorder_fields()
于 2015-04-15T04:41:10.037 に答える