Usecase to reproduce: - Set the warehouse as 3 steps receipt - Put a security delay of 3 days for purchase - Set a product with a vendor and 1 days as LT - Replenish with the orderpoint You expect to have a schedule date for tomorrow that contains all the product needed in the incoming 4 days. Currenly the internal transfer from QC -> Stock is for tomorrow (ok). The transfer from Inpur -> QC is plan for 2 days in the past. (not ok) The PO date is plan for 5 days in the past. (not ok) It happens because the system check at each `stock.rule` application if purchase is part of the route. If it's then it applies the security lead time. It's a mistake because we should apply it only the first time. To fix it we directly set it when the orderpoint run and not during `stock.move` creation. However for MTO it's not that easy. We don't want to deliver too early the customer. So we keep applying the delay during the `stock.move` creation but only when it goes under the warehouse stock location. X-original-commit: 97f52bd40d97109a7983549d252476959ddceada Part-of: odoo/odoo#112325
19 lines
502 B
Python
19 lines
502 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class ResCompany(models.Model):
|
|
_inherit = 'res.company'
|
|
|
|
days_to_purchase = fields.Float(
|
|
string='Days to Purchase',
|
|
help="Days needed to confirm a PO, define when a PO should be validated")
|
|
|
|
|
|
def _get_security_by_rule_action(self):
|
|
res = super()._get_security_by_rule_action()
|
|
res['buy'] = self.po_lead
|
|
return res
|