In a Odoo version 17 model, the Total Volume (total_cbm) is declared with 3 decimal digits
total_cbm = fields.Float(string="Total Volume (CBM)", digits=(16, 3))
However, in the XML template inside the tree view, it was summed up, but the sum does not have 3 decimal digits
<page string="Package Details">
<group invisible="transport == 'air'">
<field name="freight_packages" nolabel="1" widget="one2many_list">
<tree string="Package">
<field name="name" />
<field name="seal_number"/>
<field name="package_type"/>
<field name="package" required="1"/>
<field name="container_type" optional="hide"/>
<field name="qty" sum="Total Qty."/>
<field name="volume"/>
<field name="gross_weight"/>
<field name="net_weight" sum="Total Net"/>
<field name="total_cbm" sum="Total Volume"/>
<field name="line_added" column_invisible="1"/>
<button name="action_insert_line_service" type="object" string="Add to Service" icon="fa-plus-square-o" invisible="line_added"/>
</tree>
<form string="Package">
<field name="container_name_hidden" invisible="1"/>
<field name="seal_number_hidden" invisible="1"/>
<field name="container_type_hidden" invisible="1"/>
<field name="type_hidden" invisible="1"/>
<field name="carrier_seal_hidden" invisible="1"/>
<field name="container_name_required" invisible="1"/>
<field name="seal_number_required" invisible="1"/>
<field name="container_type_required" invisible="1"/>
...
...
I tried adding digits inside the tree but it produced an error.
<field name="total_cbm" sum="Total Volume" digits="(16, 3)"/>
UncaughtPromiseError > OwlError Uncaught Promise > An error occured in the owl lifecycle (see this Error's "cause" property) OwlError: An error occured in the owl lifecycle (see this Error's "cause" property) Error: An error occured in the owl lifecycle (see this Error's "cause" property) at handleError at App.handleError ... Caused by: SyntaxError: Unexpected token '(', "(16,3)" is not valid JSON at JSON.parse ()
What is the correct way to format the total with 3 digits?
In a Odoo version 17 model, the Total Volume (total_cbm) is declared with 3 decimal digits
total_cbm = fields.Float(string="Total Volume (CBM)", digits=(16, 3))
However, in the XML template inside the tree view, it was summed up, but the sum does not have 3 decimal digits
<page string="Package Details">
<group invisible="transport == 'air'">
<field name="freight_packages" nolabel="1" widget="one2many_list">
<tree string="Package">
<field name="name" />
<field name="seal_number"/>
<field name="package_type"/>
<field name="package" required="1"/>
<field name="container_type" optional="hide"/>
<field name="qty" sum="Total Qty."/>
<field name="volume"/>
<field name="gross_weight"/>
<field name="net_weight" sum="Total Net"/>
<field name="total_cbm" sum="Total Volume"/>
<field name="line_added" column_invisible="1"/>
<button name="action_insert_line_service" type="object" string="Add to Service" icon="fa-plus-square-o" invisible="line_added"/>
</tree>
<form string="Package">
<field name="container_name_hidden" invisible="1"/>
<field name="seal_number_hidden" invisible="1"/>
<field name="container_type_hidden" invisible="1"/>
<field name="type_hidden" invisible="1"/>
<field name="carrier_seal_hidden" invisible="1"/>
<field name="container_name_required" invisible="1"/>
<field name="seal_number_required" invisible="1"/>
<field name="container_type_required" invisible="1"/>
...
...
I tried adding digits inside the tree but it produced an error.
<field name="total_cbm" sum="Total Volume" digits="(16, 3)"/>
UncaughtPromiseError > OwlError Uncaught Promise > An error occured in the owl lifecycle (see this Error's "cause" property) OwlError: An error occured in the owl lifecycle (see this Error's "cause" property) Error: An error occured in the owl lifecycle (see this Error's "cause" property) at handleError at App.handleError ... Caused by: SyntaxError: Unexpected token '(', "(16,3)" is not valid JSON at JSON.parse ()
What is the correct way to format the total with 3 digits?
Share Improve this question asked Feb 17 at 18:13 SheenergizerSheenergizer 8511 bronze badges 1- Use brackets instead of parenthesis – Kenly Commented 21 hours ago
1 Answer
Reset to default 0What if you try to define float:
<field name="total_cbm_display" sum="Total Volume" widget="float"/>
But I think this is the default setting.
To set the precision see also this answer on SO!