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

您需要在销售订单模型中添加关系字段。在应用代码之前,您应该参考 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 回答
1

通过关系字段在模型B中引入模型A字段,例如在另一个模型中使用many2one字段:

从 openerp 导入模型、字段、api

类partsproviderclass(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")

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

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