diff --git a/source/engine/treatVariable.js b/source/engine/treatVariable.js index 94048bf47..9d54addf5 100644 --- a/source/engine/treatVariable.js +++ b/source/engine/treatVariable.js @@ -127,6 +127,7 @@ export let treatVariableTransforms = (rules, rule) => parseResult => { let nodeValue = filteredNode.nodeValue // Temporal transformation + let supportedPeriods = ['mois', 'année', 'flexible'] if (nodeValue == null) return filteredNode let ruleToTransform = findRuleByDottedName( rules, @@ -139,13 +140,15 @@ export let treatVariableTransforms = (rules, rule) => parseResult => { // Exceptions if (!rule.période && !inlinePeriodTransform) { - if (ruleToTransform.période) + if (supportedPeriods.includes(ruleToTransform.période)) throw new Error( `Attention, une variable sans période, ${ rule.dottedName }, qui appelle une variable à période, ${ ruleToTransform.dottedName }, c'est suspect ! + + Si la période de la variable appelée est neutralisée dans la formule de calcul, par exemple un montant mensuel divisé par 30 (comprendre 30 jours), utilisez "période: aucune" pour taire cette erreur et rassurer tout le monde. ` ) diff --git a/source/règles/base.yaml b/source/règles/base.yaml index 63e58cbe8..02f9a13c6 100644 --- a/source/règles/base.yaml +++ b/source/règles/base.yaml @@ -212,6 +212,7 @@ - espace: contrat salarié . CDD . compensation pour congés non pris nom: salaire journalier unité: jour ouvré + période: aucune formule: assiette mensuelle / 21 note: On retient 21 comme nombre de jours ouvrés moyens par mois