Public release from ruodoo-project: 19.0 - 2026-11-01 22:52:25 UTC
This commit is contained in:
34
ruodoo_sale_control/models/product.py
Normal file
34
ruodoo_sale_control/models/product.py
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class ProductProduct(models.Model):
|
||||
_inherit = 'product.product'
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
for vals in vals_list:
|
||||
if not vals.get('default_code'):
|
||||
sku = self.env['ir.sequence'].next_by_code('SKU')
|
||||
if sku:
|
||||
vals['default_code'] = sku
|
||||
return super().create(vals_list)
|
||||
|
||||
def set_sku(self):
|
||||
for rec in self:
|
||||
rec.default_code = self.env['ir.sequence'].next_by_code('SKU')
|
||||
|
||||
def get_fob_price(self):
|
||||
"""Цена FOB из спецификации (BoM), иначе прайсовая цена.
|
||||
|
||||
Спецификации доступны только при установленном ``mrp``; без него
|
||||
возвращаем прайсовую цену.
|
||||
"""
|
||||
self.ensure_one()
|
||||
bom_ids = self['bom_ids'] if 'bom_ids' in self._fields else False
|
||||
if bom_ids:
|
||||
fob = bom_ids[0].bom_line_ids.filtered(
|
||||
lambda ln: ln.product_id.name and 'FOB' in ln.product_id.name
|
||||
)
|
||||
return fob[0].product_id.lst_price if fob else self.lst_price
|
||||
return self.lst_price
|
||||
Reference in New Issue
Block a user