Есть ли способ показать меньше десятичных знаков, чем указанная точность в представлениях Odoo 8?
Я пытаюсь управлять следующим поведением в Odoo 8:
Установите цену продукта 5 десятичных знаков. Для этого я установил десятичную точность цены продукта на 5.
В sale.order
просмотреть, показать только 3 знака после запятой, но вычислить промежуточный итог строки с учетом 5 знаков после запятой. Для этого шага я изменяю представление, чтобы поставить это на price_unit
поле:
<xpath expr="//field[@name='order_line']/tree/field[@name='price_unit']" position="replace">
<field name="price_unit" digits="(16,3)"/>
</xpath>
Но это digits
Атрибут изменяет результат.
Пример:
Я храню товар с ценой 1,00123. Я добавляю 5 единиц этого в заказ на продажу. Если я не использую
digits
в представлении XML промежуточный итог составляет 5,01. Поскольку 1,00123 * 5 = 5,00615, округление этого значения до точности счета (2 десятичных знака) дает 5,01. Но если я использую цифры в представлении XML, промежуточный итог составляет 5,00. Поскольку 1,001 * 5 = 5,005, округление этого значения до точности счета (2 десятичных знака) дает 5,00.На самом деле, я показываю с регистратором
line.price_unit
значение вsale.order.line
метод_calc_line_base_price
, С цифрами в представлении XML,line.price_unit
значения 1,001, без него он дает 1,00123.
Может кто-нибудь сказать мне, как я могу показать 3 десятичных знака за единицу цены в представлении XML, не изменяя десятичную точность 5 десятичных знаков? Это должно быть сделано только для визуализации.
1 ответ
Если XML digits
действительно учитываются при расчетах (в данный момент это невозможно проверить), у вас всегда может быть два поля: скрытое - для расчетов с максимальной точностью, а другое - для отображения, которое отображает уже рассчитанные числа с заданной точностью.