diff --git a/addons/analytic/models/analytic_mixin.py b/addons/analytic/models/analytic_mixin.py index a20f47f52d8..d81799f7f50 100644 --- a/addons/analytic/models/analytic_mixin.py +++ b/addons/analytic/models/analytic_mixin.py @@ -13,6 +13,10 @@ class AnalyticMixin(models.AbstractModel): compute="_compute_analytic_distribution", store=True, copy=True, readonly=False, precompute=True ) + analytic_precision = fields.Integer( + store=False, + default=lambda self: self.env['decimal.precision'].precision_get("Percentage Analytic"), + ) def init(self): # Add a gin index for json search on the keys, on the models that actually have a table diff --git a/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js b/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js index 055606024d8..f8f9944b7aa 100644 --- a/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js +++ b/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js @@ -79,12 +79,6 @@ export class AnalyticDistribution extends Component { if (this.editingRecord) { await this.fetchAllPlans(this.props); } - const args = { - domain: [["name", "like", "Percentage Analytic"]], - fields: ["digits"], - context: [], - } - this.decimal_precision = await this.orm.call("decimal.precision", "search_read", [], args); await this.formatData(this.props); } @@ -565,8 +559,7 @@ export class AnalyticDistribution extends Component { } formatPercentage(value) { - return formatPercentage(value / 100, { digits: [false, this.decimal_precision[0].digits || 2] }); - + return formatPercentage(value / 100, { digits: [false, this.props.record.data.analytic_precision || 2] }); } } AnalyticDistribution.template = "analytic.AnalyticDistribution"; @@ -575,6 +568,10 @@ AnalyticDistribution.components = { AnalyticAutoComplete, TagsList, } + +AnalyticDistribution.fieldDependencies = { + analytic_precision: { type: 'integer' }, +} AnalyticDistribution.props = { ...standardFieldProps, business_domain: { type: String, optional: true },