You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 15 如何为销售订单行添加产品Internal Reference字段

在Odoo销售订单行添加产品Internal Reference字段的实现方法

方法一:开发者模式直接配置视图(非开发人员适用)

  • 开启Odoo后台的开发者模式(点击右上角头像,选择「开发者模式」)
  • 进入「设置」→「技术」→「用户界面」→「视图」,搜索并打开与sale.order.line相关的视图(如「销售订单行列表」「销售订单行表单」)
  • 编辑视图XML代码,在产品字段后插入内部参考字段:
    • 树视图示例:在<field name="product_id"/>后添加 <field name="product_id.default_code" string="内部参考"/>
    • 表单视图示例:在产品字段所在区域插入上述字段标签
  • 保存视图配置,刷新页面即可看到销售订单行显示产品的Internal Reference

方法二:自定义模块开发(开发人员适用)

如果需要将功能封装为可复用模块,按以下步骤操作:

1. 创建模块基础结构

新建模块(如命名为sale_order_line_default_code),包含以下核心文件:

  • __manifest__.py:模块声明文件
  • models/sale_order_line.py:扩展销售订单行模型
  • views/sale_order_line_view.xml:继承修改视图

2. 编写模型扩展代码

在models/sale_order_line.py中添加关联字段:

from odoo import models, fields

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

    product_default_code = fields.Char(
        string="内部参考",
        related="product_id.default_code",
        readonly=True
    )

3. 编写视图继承代码

在views/sale_order_line_view.xml中修改销售订单行的树视图和表单视图:

<odoo>
    <!-- 继承销售订单行树视图 -->
    <record id="sale_order_line_tree_inherit" model="ir.ui.view">
        <field name="name">sale.order.line.tree.inherit</field>
        <field name="model">sale.order.line</field>
        <field name="inherit_id" ref="sale.view_order_line_tree"/>
        <field name="arch" type="xml">
            <field name="product_id" position="after">
                <field name="product_default_code" string="内部参考"/>
            </field>
        </field>
    </record>

    <!-- 继承销售订单行表单视图 -->
    <record id="sale_order_line_form_inherit" model="ir.ui.view">
        <field name="name">sale.order.line.form.inherit</field>
        <field name="model">sale.order.line</field>
        <field name="inherit_id" ref="sale.view_order_line_form"/>
        <field name="arch" type="xml">
            <field name="product_id" position="after">
                <field name="product_default_code" string="内部参考"/>
            </field>
        </field>
    </record>
</odoo>

4. 编写模块声明文件

在__manifest__.py中定义模块信息:

{
    'name': '销售订单行显示产品内部参考',
    'version': '1.0',
    'depends': ['sale'],
    'data': [
        'views/sale_order_line_view.xml',
    ],
    'installable': True,
    'auto_install': False,
}

5. 安装模块

将模块放入Odoo的addons目录,升级应用列表后安装该模块,刷新页面即可生效。

额外说明

如果需要在销售订单打印单据中也显示Internal Reference,可通过继承销售订单的报表模板(如sale.report_saleorder),在对应位置添加product_default_code字段即可。

内容的提问来源于stack exchange,提问作者Zoro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:46:12