在Odoo14中,要继承和修改销售订单行中的Name,可以通过创建一个自定义模块来实现。
首先,创建一个新的模块,可以命名为"custom_sales_order"。在该模块的目录结构中,创建一个名为"models"的文件夹,并在其中创建一个名为"sale_order_line.py"的Python文件。
在"sale_order_line.py"文件中,导入必要的模块和类,如下所示:
from odoo import models, fields, api
然后,创建一个继承自"sale.order.line"的新类,并添加一个新的字段来修改订单行的名称。例如,我们可以添加一个名为"custom_name"的字段:
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
custom_name = fields.Char(string='Custom Name')
接下来,我们需要重写"create"方法,以便在创建订单行时更新名称。在新类中添加以下代码:
@api.model
def create(self, vals):
if 'custom_name' not in vals:
vals['custom_name'] = 'Custom Name: ' + vals.get('name', '')
return super(SaleOrderLine, self).create(vals)
这段代码将在创建订单行时检查是否提供了自定义名称。如果没有提供,则使用默认的名称,并在前面添加"Custom Name: "。
最后,将新类注册到Odoo系统中。在模块的"init.py"文件中添加以下代码:
from . import models
完成上述步骤后,保存并安装模块。然后,当您创建或修改销售订单行时,您将看到一个新的字段"Custom Name"。如果您没有提供自定义名称,它将自动添加"Custom Name: "前缀。
这是一个示例模块,您可以根据自己的需求进行修改和扩展。请注意,这只是一个简单的示例,实际情况可能更复杂,具体取决于您的业务需求。
推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)可用于支持Odoo14的部署和数据存储。
领取专属 10元无门槛券
手把手带您无忧上云