自动将现有字段的值添加到自定义字段 [Odoo14]

Add automatically a value of an existing field to a custom fields [Odoo14]

我是 odoo 的新手,我想将来自 sale.order 的字段“client_order_ref”的值添加到我来自 [=27= 的自定义字段“client_ref” ].行.

目标是在填写“client_order_ref”时自动填写此自定义字段。

型号:

class sale_order(models.Model):
    _inherit = 'sale.order'

    sale_order_id = fields.Many2one('sale.order.line', string='Liaison Order Line')



class sale_order_line(models.Model):
    _inherit = 'sale.order.line'

    client_ref = fields.One2many('sale.order', 'sale_order_id', string="Référence Client", readOnly=True)

  

XML:

 <odoo>
  <data>
    <record model="ir.ui.view" id="view_quotation_form_inherited">
      <field name="name">view.quotation.form.inherited</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='product_uom_qty']" position="before">
          <field name="client_ref">
              <tree>
                <field name="client_order_ref" String="Référence client"/>
              </tree>
            </field>
        </xpath>
        <xpath expr="//tree/field[@name='product_uom_qty']" position="before">
            <field name="client_ref">
              <tree>
                <field name="client_order_ref" String="Référence client"/>
              </tree>
            </field>
        </xpath>

      </field>
    </record>
  </data>
</odoo>

Order Lines (order_line) 字段已经使用 order_id 字段(反向名称)到 link 销售订单行到销售订单,因此您可以使用该字段来获取来自销售订单的字段值。

您可以将 client_order_ref 定义为 related 以提供当前记录(销售订单行)上子字段 (client_order_ref) 的值:

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    client_order_ref = fields.Char()


class SaleOrderLine(models.Model):
    _inherit = 'sale.order.line'

    client_ref = fields.Char(related="order_id.client_order_ref")