Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC

This commit is contained in:
CI Publish Bot
2026-05-10 21:19:11 +00:00
commit cbf9e6e6d6
1213 changed files with 183945 additions and 0 deletions

View File

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
from odoo import models, fields
class ProductProduct(models.Model):
_inherit = 'product.product'
is_forecast_ok = fields.Boolean(string='Участвует в прогнозах')
def find_available_bom(self, qty=1):
"""Возвращает первый не-виртуальный BOM, для которого все компоненты есть на складе.
Возвращает (bom, notes) или (False, причина).
"""
for s in self:
boms = s.bom_ids.filtered(lambda b: not b.is_virtual)
if not boms:
return False, 'Нет спецификаций для продукта ' + s.name
for bom in boms:
if bom.bom_available(qty):
return bom, 'Найдена доступная спецификация'
return False, 'Нет спецификации, для которой все компоненты есть на складе (' + s.name + ')'
def start_planning(self, qty):
"""Точка входа для подбора BOM из строки прогноза."""
return self.find_available_bom(qty)