Le cache n'était pas réinitialisé, et les valeurs utilisée étaient celle du dernier calcul de la fonction uniroot, qui n'est pas forcément celui du résultat finalement retourné.
Les traductions n'étaient pas bien gérée, vu que les
fichiers de traductions ne sont pas dans le paquet.
Par ailleur il y avait un bug de dépendance implicite qui
demandait l'instantiation de i18n côté applicatif pour
pouvoir utiliser les composants de la bibliothèque.
Le support d'autres langues n'est pas la priorité actuelle,
mais nous y reviendrons lorsque l'on aura plus de temps
Principes :
- Unifier les règles pour les différentes forme juridique / sociale
- Se rapprocher au plus près des définitions comptables / juridique
- Remettre les calculs dans le bon sens (revenu pro / total en fonction du CA et non l'inverse)
- Ajouter option IS / IR sur le simulateur indépendant
- Corriger prise en compte cotisations Madelins (inclues dans les cotisations et non dans les charges)
- Ajoute l'option micro-BIC / micro-BNC
Ce mécanisme permet d'activer le calcul itératif pour trouver la
valeur de la règle qui résout la référence circulaire.
Il est possible pour une règle de se référencer elle-même. Par défaut, le
moteur considère qu'il s'agit d'un cycle non voulu, et renvoie 'null' comme valeur
pour la règle en question, en affichant un avertissement.
Mais dans certains cas, la formule est bonne et le cycle est voulu. La valeur de la
règle attendue est donc celle qui résout l'équation obtenue via la référence cyclique.
Lorsque l'on active cette fonctionnalité, le moteur va procéder par essaie erreur jusqu'à
trouver cette valeur.
Note : la résolution de cycle est coûteuse en temps de calcul. Il faut donc veiller à
ne pas la cumuler avec l'évaluation d'un autre mécanisme coûteux comme l'inversion numérique
par exemple.
* remove ParsedRules argument to constructor (was undocumented, so no
harm for Publicodes users)
* replace by Engine.shallowCopy()
* simplify EngineContext in mon-entreprise.