继承方法不会替代以前的方法Odoo 12

问题描述

所以我有一个模块可以触发odoo的标准模块方法。当我的模块触发认的odoo方法时,它将创建一个错误。因此,我已经找到了错误的原因,但是我很难用固有模型替换该方法。这是我的模型,我想替换认的_prepare_procurement_values方法。我已经在_init中导入了它。当我调试它时,它会在values = super(SaleOrderLine,self)._prepare_procurement_values(group_id)行中停止,然后运行旧方法,因为错误仍然相同。

  from datetime import timedelta

from odoo import _,api,fields,models

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

    @api.multi
    def _prepare_procurement_values(self,group_id=False):
        """ Prepare specific key for moves or other components that will be created from a stock rule
        comming from a sale order line. This method Could be override in order to add other custom key that Could
        be used in move/po creation.
        """
        values = super(SaleOrderLine,self)._prepare_procurement_values(group_id)
        daysValue = self.customer_lead if self.customer_lead != None else 0.0
        confirmationDate = self.order_id.confirmation_date if self.order_id.confirmation_date  else datetime.datetime.Now()
        self.ensure_one()
        date_planned = confirmationDate\
            + timedelta(daysValue) - timedelta(days=self.order_id.company_id.security_lead)
        values.update({
            'company_id': self.order_id.company_id,'group_id': group_id,'sale_line_id': self.id,'date_planned': date_planned,'route_ids': self.route_id,'warehouse_id': self.order_id.warehouse_id or False,'partner_id': self.order_id.partner_shipping_id.id,})
        for line in self.filtered("order_id.commitment_date"):
            date_planned = fields.Datetime.from_string(line.order_id.commitment_date) - timedelta(days=line.order_id.company_id.security_lead)
            values.update({
                'date_planned': fields.Datetime.to_string(date_planned),})
        return values

错误

     File "c:\program files (x86)\odoo 12.0\server\addons\hotel_restaurant\models\sale_order_line.py",line 14,in _prepare_procurement_values
    values = super(SaleOrderLine,self)._prepare_procurement_values(group_id)
  File "c:\program files (x86)\odoo 12.0\server\odoo\addons\sale_stock\models\sale_order.py",line 337,in _prepare_procurement_values
    + timedelta(days=self.customer_lead or 0.0) - timedelta(days=self.order_id.company_id.security_lead)
TypeError: unsupported operand type(s) for +: 'bool' and 'datetime.timedelta'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)