Десятичная точность Odoo на основе единиц измерения
У кого-нибудь есть идея, как установить десятичную точность продукта на основе единицы измерения, по которой он продается. Например, продукт X, продаваемый в килограммах, имеет десятичную точность 3 => Кол-во: 10.000 кг. Продукт Y, продаваемый в единицах, имел десятичную точность 0 -> Кол-во: 10 единиц (-ей).
Заранее спасибо.
2 ответа
Попробуйте этот код.
import odoo.addons.decimal_precision as dp
lost_qty = fields.Float('Lost Qty', compute = '_compute_lost_qty', digits = dp.get_precision('Product Unit of Measure'))
- Вы также можете найти эти десятичные значения в Настройках конфигурации Odoo -> Структура базы данных -> Десятичная точность
Импортируйте это вверху вашего .py
файл:
from openerp.tools.float_utils import float_round
Теперь представьте, что у вас есть набор записей продуктов (объект / группа объектов продуктов) в self
:
your_quantity = 10.000
rounding = self.uom_id.rounding
qty = float_round(your_quantity, precision_rounding=rounding)