More code for allocations_familiales

This commit is contained in:
Denis Merigoux 2021-01-03 20:36:04 +01:00
parent 8f2811b66f
commit 84acb971a0
7 changed files with 245 additions and 440 deletions

View File

@ -10,12 +10,12 @@ Au titre de lannée 2020, larticle 81 de la loi du 24 décembr
Le montant précité de la base mensuelle de calcul des allocations familiales (BMAF), en pourcentage duquel sont fxés les montants des prestations familiales, est ainsi porté de 413,16 € à 414,4 € au 1er avril 2020.
/*
# champ d'application CalculAllocationsFamiliales :
# définition prestations_familiales.base_mensuelle
# sous condition
# date_calcul >= |01/04/2020| et
# date_calcul < |01/04/2021|
# conséquence égal à 414,4 €
champ d'application PrestationsFamiliales :
définition base_mensuelle
sous condition
date_courante >=@ |01/04/2020| et
date_courante <@ |01/04/2021|
conséquence égal à 414,4 €
*/
Des règles spécifques sappliquent par ailleurs aux prestations familiales suivantes en métropole tout comme dans les collectivités de Guadeloupe, Guyane, Martinique, La Réunion, Saint-Barthélemy et à Saint-Martin : larticle 37 de la LFSS pour 2018 a prévu une mesure dharmonisation du barème de lallocation de base (AB), de la prime à la naissance et de la prime à ladoption sur celui du complément familial. Cette réforme est applicable aux enfants nés ou adoptés à compter du 1er avril 2018 et en conséquence à lensemble des enfants à compter du 1er avril 2021.
@ -108,14 +108,6 @@ Je vous demande de bien vouloir transmettre à la connaissance des or
@@Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance@@
@@Début métadonnées@@
/*
déclaration champ d'application Smic :
contexte résidence contenu Collectivité
contexte brut_horaire contenu argent
*/
@@Fin métadonnées@@
@Article 1|LEGIARTI000039640195|01/01/2020@
A compter du 1er janvier 2020, pour les catégories de travailleurs mentionnés à l' article L. 2211-1 du code du travail , le montant du salaire minimum de croissance est relevé dans les conditions ci-après :
1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, son montant est porté à 10,15 € l'heure ;

View File

@ -1,24 +1,26 @@
@@Début métadonnées@@
/*
# déclaration structure Personne :
# donnée prénom contenu texte
# donnée nom contenu texte
# donnée date_de_naissance contenu date
déclaration structure Personne:
donnée numéro_sécurité_sociale contenu entier
# déclaration structure ParentsGardeAlternée :
# donnée parent1 contenu Personne
# donnée parent2 contenu Personne
déclaration énumération GardeAlternée :
-- OuiPartageAllocations
-- OuiAllocataireUnique
-- NonGardeUnique
# déclaration énumération PriseEnCharge :
# -- Complète contenu Personne
# -- GardeAlternée contenu ParentsGardeAlternée
déclaration énumération PriseEnChargeServiceSociaux:
-- OuiAllocationVerséeÀLaFamille
-- OuiAllocationVerséeAuxServicesSociaux
-- NonPriseEnChargeFamille
déclaration structure Enfant :
donnée fin_obligation_scolaire contenu date
donnée rémuneration_mensuelle contenu argent
donnée date_de_naissance contenu date
donnée âge contenu entier
# donnée prise_en_charge contenu PriseEnCharge
# condition confié_service_social
donnée garde_alternée contenu GardeAlternée
donnée pris_en_charge_par_services_sociaux contenu
PriseEnChargeServiceSociaux
déclaration énumération Collectivité :
-- Guadeloupe
@ -31,198 +33,82 @@ déclaration énumération Collectivité :
-- SaintPierreEtMiquelon
-- Mayotte
# déclaration structure Ménage :
# donnée enfants contenu collection Enfant
# donnée parent_en_charge contenu Personne dépend de Enfant
# donnée enfant_plus_âgé contenu Enfant
# donnée parents contenu collection Personne
# donnée parent1 contenu Personne
# donnée parent2 contenu Personne
# donnée résidence contenu Collectivité
# # Le mot optionnel permet de prévoir le cas où le
# # ménage n'a pas d'enfants
déclaration champ d'application Smic :
contexte résidence contenu Collectivité
contexte brut_horaire contenu argent
# déclaration champ d'application MénageBienFormé :
# contexte ménage contenu Ménage
déclaration énumération PriseEnCompteÉvaluationMontant:
-- Complète
-- Partagée
# champ d'application MénageBienFormé :
# assertion nombre de parents > 0 et nombre de parents <= 2
déclaration énumération VersementAllocations:
-- Normal
-- AllocationVerséeAuxServicesSociaux
# # Les champs parent1 et parent2 sont cohérents
# assertion ménage.parent1 dans ménage.parents
# assertion (
# selon ménage.parent2 sous forme
# -- Présent de parent2 :
# parent2 dans ménage.parents et parent2 != ménage.parent1
# -- Absent : vrai
# )
déclaration énumération ÂgeAlternatif:
-- Absent
-- Présent contenu entier
# # Dans la traduction informatique, le ménage est en charge de chacun
# # des enfants
# assertion (pour tout enfant dans enfants on a
# selon enfant.prise_en_charge sous forme
# -- Complète de parent : parent dans ménage.parents
# -- GardeAlternée de parents_garde_alternée :
# parents_garde_alternée.parent1 dans ménage.parents ou
# parents_garde_alternée.parent2 dans ménage.parents
# )
déclaration énumération ÉlémentPrestationsFamiliales:
-- PrestationAccueilJeuneEnfant
-- AllocationsFamiliales
-- ComplémentFamilial
-- AllocationLogement
-- AllocationÉducationEnfantHandicapé
-- AllocationSoutienFamilial
-- AllocationRentréeScolaire
-- AllocationJournalièrePresenceParentale
# # parent_en_charge permet de savoir quel parent du ménage
# # est en charge de quel enfant
# définition parent_en_charge de enfant égal à (
# selon enfant.prise_en_charge sous forme
# -- Complète de parent : parent
# -- GardeAlternée de parents_garde_alternée : (
# si parents_garde_alternée.parent1 dans ménage.parents
# alors parents_garde_alternée.parent1
# sinon parents_garde_alternée.parent2
# ))
déclaration champ d'application PrestationsFamiliales:
contexte droit_ouvert condition dépend de Enfant
contexte conditions_hors_âge condition dépend de Enfant
contexte plafond_l512_3_2 contenu argent
contexte âge_l512_3_2 contenu entier
contexte âge_l512_3_2_alternatif contenu ÂgeAlternatif
contexte régime_outre_mer_l751_1 condition
contexte date_courante contenu date
contexte prestation_courante contenu ÉlémentPrestationsFamiliales
contexte résidence contenu Collectivité
contexte smic champ d'application Smic
contexte base_mensuelle contenu argent
# # Lorsqu'un enfant est confié au service social, il ne peut être
# # en garde alternée
# assertion pour tout enfant dans enfants on a
# si enfant.confié_service_social
# alors enfant.prise_en_charge = Complète contenu service_social
# sinon vrai
champ d'application PrestationsFamiliales:
définition smic.résidence égal à résidence
# déclaration énumération Prestation:
# -- PrestationAccueilJeuneEnfant
# -- AllocationFamiliale
# -- ComplémentFamilial
# -- AllocationLogement
# -- AllocationÉducationEnfantHandicapé
# -- AllocationSoutienFamilial
# -- AllocationRentréeScolaire
# -- AllocationJournalièrePresenceParentale
déclaration champ d'application AllocationFamilialesAvril2008:
contexte âge_limite_alinéa_1_l521_3 contenu entier
# déclaration structure PrestationsFamiliales :
# condition conditions_hors_âge dépend de Enfant
# condition droits_ouverts dépend de Enfant
# donnée base_mensuelle contenu argent
# donnée base_mensuelle_dom contenu argent
déclaration champ d'application AllocationsFamiliales:
contexte enfants_à_charge contenu collection Enfant
contexte ressources_ménage contenu argent
contexte prise_en_compte contenu
PriseEnCompteÉvaluationMontant dépend de Enfant
contexte versement contenu
VersementAllocations dépend de Enfant
# déclaration énumération ChargeAllocation :
# -- Complète
# -- Partagée
contexte droit_ouvert_base condition
contexte droit_ouvert_majoration condition dépend de Enfant
contexte montant_versé_base contenu argent
# déclaration structure AllocationsFamiliales :
# condition droits_ouverts
# donnée date_ouverture_droits contenu date
# condition conditions_hors_âge dépend de Enfant
# donnée base contenu argent
# donnée avec_garde_alternée contenu argent
# donnée montant_versé contenu argent
# donnée récipiendaire_par_enfant contenu Personne dépend de Enfant
# donnée charge_par_enfant contenu ChargeAllocation dépend de Enfant
# donnée rapport_enfants_total_moyen contenu décimal
# donnée nombre_total_enfants contenu entier
# donnée nombre_moyen_enfants contenu décimal
# donnée montant_premier_enfant contenu argent
# donnée montant_deuxieme_enfant contenu argent
# donnée montant_troisième_enfant_et_plus contenu argent
contexte droit_ouvert_forfaitaire condition dépend de Enfant
contexte montant_versé_forfaitaire contenu argent
# déclaration structure AllocationForfaitaire :
# condition droits_ouverts dépend de Enfant
# donnée montant_versé contenu argent
contexte montant_versé_majorations contenu argent
# déclaration énumération ChoixParentAllocataire :
# -- UnParent contenu Personne
# -- DeuxParents
contexte droit_ouvert_complément condition
contexte montant_versé_complément contenu argent
# déclaration structure AllocationsGardeAlternée :
# donnée choix_allocataire contenu ChoixParentAllocataire
# dépend de Enfant
# condition unique_allocataire dépend de Enfant
# condition allocataire_double dépend de Enfant
# condition demande_conjointe_partage_charge dépend de Enfant
# condition desaccord_charge dépend de Enfant
contexte prestations_familiales champ d'application PrestationsFamiliales
contexte version_avril_2008 champ d'application AllocationFamilialesAvril2008
contexte conditions_hors_âge condition dépend de Enfant
# déclaration structure MajorationsAllocationsFamiliales :
# condition droits_ouverts dépend de Enfant
# donnée base_par_enfant contenu argent dépend de Enfant
# donnée avec_garde_alternée contenu argent dépend de Enfant
# donnée montant_versé contenu argent
contexte nombre_enfants_l512_1 contenu entier
contexte âge_limite_alinéa_1_l521_3 contenu entier dépend de Enfant
contexte nombre_enfants_alinéa_2_l521_3 contenu entier
contexte est_enfant_le_plus_âgé contenu booléen dépend de Enfant
# déclaration structure ComplémentDégressif :
# condition droits_ouverts dépend de argent
# donnée dépassement contenu argent dépend de argent
# donnée pour_allocation_forfaitaire contenu argent
# donnée pour_allocations_familiales_et_majorations contenu argent
# donnée montant_versé contenu argent
# déclaration structure TitreI:
# condition droits_ouverts_allocations_familiales dépend de Personne
# déclaration structure L511_1:
# donnée prestation_courante contenu Prestation
# déclaration structure L512_3 :
# donnée âge_limite_alinéa_2 contenu entier
# donnée âge_limite_alinéa_2_alternatif contenu entier
# condition âge_limite_alinéa_2_alternatif_utilisé
# donnée plafond_rémunération_mensuelle_alinéa_2 contenu argent
# déclaration structure L521_1 :
# donnée nombre_minimum_enfants contenu argent
# donnée ressources_ménage contenu argent
# déclaration structure L521_3 :
# donnée âge_limite_alinéa_1 contenu entier dépend de Enfant
# donnée minimum_alinéa_2 contenu argent
# déclaration structure L751_1 :
# condition régime_outre_mer
# déclaration structure D521_3 :
# donnée plafond_I contenu argent
# donnée plafond_II contenu argent
# déclaration structure SMIC :
# donnée brut_horaire contenu argent dépend de Collectivité
# déclaration champ d'application CalculPrestationsFamiliales :
# # Les règles déclarées dans PrestationsFamiliales pourront utiliser
# # ménage et l512_3 et leur données associées
# contexte date_calcul contenu date
# contexte ménage contenu Ménage
# contexte prestations_familiales contenu PrestationsFamiliales
# contexte l511_1 contenu L511_1
# contexte l512_3 contenu L512_3
# contexte ménage_bien_formé champ d'application MénageBienFormé
# champ d'application CalculPrestationsFamiliales:
# définition ménage_bien_formé.ménage égal à ménage
# déclaration champ d'application CalculAllocationsFamilialesAvril2008 :
# contexte l521_3 contenu L521_3
# déclaration champ d'application CalculAllocationsFamiliales :
# contexte date_calcul contenu date
# contexte ménage contenu Ménage
# contexte allocations_familiales contenu AllocationsFamiliales
# contexte allocation_forfaitaire contenu AllocationForfaitaire
# contexte allocations_garde_alternée contenu AllocationsGardeAlternée
# contexte majorations_allocations_familiales
# contenu MajorationsAllocationsFamiliales
# contexte smic contenu SMIC
# contexte titre_I contenu TitreI
# contexte l521_1 contenu L521_1
# contexte l521_3 contenu L521_3
# contexte l751_1 contenu L751_1
# contexte d521_1 contenu D521_1
# contexte d521_3 contenu D521_3
# contexte calcul_prestations_familiales
# champ d'application CalculPrestationsFamiliales
# contexte calcul_avril_2008
# champ d'application CalculAllocationsFamilialesAvril2008
# champ d'application CalculAllocationsFamiliales:
# définition calcul_prestations_familiales.ménage égal à ménage
# définition calcul_prestations_familiales.date_calcul égal à date_calcul
# # AllocationsFamiliales est un cas particulier de PrestationsFamiliales,
# # le dernier est donc inclus dans l'autre. Il est nécessaire de préciser
# # que les deux contextes parlent du même ménage pour caractériser
# # l'inclusion.
champ d'application AllocationsFamiliales:
définition prestations_familiales.prestation_courante égal à
AllocationsFamiliales
*/
@@Fin métadonnées@@

View File

@ -30,49 +30,19 @@ Les prestations familiales comprennent :
9°) l'allocation journalière de présence parentale.
/*
déclaration énumération ÉlémentPrestationsFamiliales:
-- PrestationAccueilJeuneEnfant
-- AllocationsFamiliales
-- ComplémentFamilial
-- AllocationLogement
-- AllocationÉducationEnfantHandicapé
-- AllocationSoutienFamilial
-- AllocationRentréeScolaire
-- AllocationJournalièrePresenceParentale
# Voir l'énumération ÉlémentPrestationsFamiliale
*/
@@Chapitre 2 : Champ d'application@@++++
@@Début métadonnées@@
/*
déclaration énumération ÂgeAlternatif:
-- Absent
-- Présent contenu entier
déclaration champ d'application OuvertureDroitPrestationsFamiliales:
contexte droits_ouverts condition dépend de Enfant
contexte conditions_hors_âge condition dépend de Enfant
contexte plafond_l512_3_2 contenu argent
contexte âge_l512_3_2 contenu entier
contexte âge_l512_3_2_alternatif contenu ÂgeAlternatif
contexte date_courante contenu date
contexte prestation_courante contenu ÉlémentPrestationsFamiliales
contexte résidence contenu Collectivité
contexte smic champ d'application Smic
champ d'application OuvertureDroitPrestationsFamiliales:
définition smic.résidence égal à résidence
*/
@@Fin métadonnées@@
@Article L512-3|LEGIARTI000038834523@
Sous réserve des règles particulières à chaque prestation,
ouvre droit aux prestations familiales :
1°) tout enfant jusqu'à la fin de l'obligation scolaire ;
/*
champ d'application OuvertureDroitPrestationsFamiliales :
règle droits_ouverts de enfant sous condition
champ d'application PrestationsFamiliales :
règle droit_ouvert de enfant sous condition
(date_courante <=@ enfant.fin_obligation_scolaire)
conséquence rempli
*/
@ -80,7 +50,7 @@ champ d'application OuvertureDroitPrestationsFamiliales :
2°) après la fin de l'obligation scolaire, et jusqu'à un âge limite,
tout enfant dont la rémunération éventuelle n'excède pas un plafond.
/*
champ d'application OuvertureDroitPrestationsFamiliales :
champ d'application PrestationsFamiliales :
# On définit les conditions hors âge d'abord car elles
# sont référencées plus tard dans l'article L521-1
règle conditions_hors_âge de enfant sous condition
@ -88,7 +58,7 @@ champ d'application OuvertureDroitPrestationsFamiliales :
(enfant.rémuneration_mensuelle <=€ plafond_l512_3_2)
conséquence rempli
règle droits_ouverts de enfant sous condition
règle droit_ouvert de enfant sous condition
(date_courante >@ enfant.fin_obligation_scolaire) et
(conditions_hors_âge de enfant) et
(enfant.âge <= âge_l512_3_2)
@ -99,7 +69,7 @@ Toutefois, pour l'attribution du complément familial et de l'allocation
de logement mentionnés aux 3° et 4° de l'article L. 511-1 , l'âge limite
peut être différent de celui mentionné au 2° du présent article.
/*
champ d'application OuvertureDroitPrestationsFamiliales :
champ d'application PrestationsFamiliales :
définition âge_l512_3_2 sous condition
(selon âge_l512_3_2_alternatif sous forme
-- Présent de âge : vrai
@ -119,19 +89,10 @@ champ d'application OuvertureDroitPrestationsFamiliales :
@Article L521-1|LEGIARTI000029963006@
Les allocations familiales sont dues à partir du deuxième enfant à charge.
/*
# champ d'application CalculAllocationsFamiliales :
# règle allocations_familiales.droits_ouverts sous condition
# nombre de ménage.enfants >= 2
# conséquence rempli
# # Les droits doivent être ouverts pour appliquer le champ
# # CalculAllocationsFamiliales. Si cette condition n'est pas remplie,
# # alors il est inutile de calculer le reste
# assertion allocations_familiales.droits_ouverts
# # Le champ d'application CalculAllocationsFamiliales inclus
# # PrestationsFamiliales, mais à condition que la prestation courante
# # soit cohérente
# définition l511_1.prestation_courante égal à AllocationFamiliale
champ d'application AllocationsFamiliales :
règle droit_ouvert_base sous condition
nombre de enfants_à_charge >= 2
conséquence rempli
*/
Une allocation forfaitaire par enfant d'un montant fixé par décret est versée
@ -142,24 +103,22 @@ limite mentionné au 2° de l'article L. 512-3 . Cette allocation est versée
à la condition que le ou les enfants répondent aux conditions autres que
celles de l'âge pour l'ouverture du droit aux allocations familiales.
/*
# champ d'application CalculAllocationsFamiliales :
# assertion fixé allocation_forfaitaire.montant_versé par décret
champ d'application AllocationsFamiliales :
assertion fixé montant_versé par décret
# # Ici, l'ouverture du droit aux allocations familiales est conditionné
# # au fait d'avoir deux enfants à charges qui répondent aux conditions
# # d'ouverture du droit à une prestation familiale. Pour cette raison,
# # nous nous référons ici aux conditions_hors_âge de prestations_familiales
# # et non pas de allocations_familiales
# règle allocations_familiales.conditions_hors_âge de enfant sous condition
# prestations_familiales.conditions_hors_âge de enfant
# conséquence rempli
# Ici, l'ouverture du droit aux allocations familiales est conditionné
# au fait d'avoir deux enfants à charges qui répondent aux conditions
# d'ouverture du droit à une prestation familiale. Pour cette raison,
# nous nous référons ici aux conditions_hors_âge de prestations_familiales
règle conditions_hors_âge de enfant sous condition
prestations_familiales.conditions_hors_âge de enfant
conséquence rempli
# règle allocation_forfaitaire.droits_ouverts de enfant sous condition
# (nombre de ménage.enfants >= l512_1.nombre_minimum_enfants) et
# (enfant dans ménage.enfants) et
# (enfant.âge = l512_3.âge_limite_alinéa_2) et
# (allocations_familiales.conditions_hors_âge de enfant)
# conséquence rempli
règle droit_ouvert_forfaitaire de enfant sous condition
(nombre de enfants_à_charge >= nombre_enfants_l512_1) et
(enfant.âge = prestations_familiales.âge_l512_3_2) et
(conditions_hors_âge de enfant)
conséquence rempli
*/
Le montant des allocations mentionnées aux deux premiers alinéas du présent
@ -167,21 +126,19 @@ article, ainsi que celui des majorations mentionnées à l'article L. 521-3
varient en fonction des ressources du ménage ou de la personne qui a la charge
des enfants, selon un barème défini par décret.
/*
# champ d'application CalculAllocationsFamiliales :
# assertion fixé allocations_familiales.montant_versé par décret
# assertion varie allocations_familiales.montant_versé avec
# l521_1.ressources_ménage
# assertion fixé majorations_allocations_familiales.montant_versé par décret
# assertion varie majorations_allocations_familiales.montant_versé avec
# l521_1.ressources_ménage
champ d'application AllocationsFamiliales :
assertion fixé montant_versé_base par décret
assertion varie montant_versé_base avec ressources_ménage
assertion fixé montant_versé_majorations par décret
assertion varie montant_versé_majorations avec ressources_ménage
*/
Le montant des allocations familiales varie en fonction du nombre d'enfants
à charge.
/*
# champ d'application CalculAllocationsFamiliales :
# assertion varie allocations_familiales.montant_versé avec
# nombre de ménage.enfants
champ d'application AllocationsFamiliales :
assertion varie montant_versé_base.montant_versé avec
nombre de enfants_à_charge
*/
Les niveaux des plafonds de ressources, qui varient en fonction du nombre
@ -203,24 +160,20 @@ sont définies par décret.
# est assez important et nous avons choisi de ne pas l'inclure dans ce
# document.
# champ d'application CalculAllocationsFamiliales :
# assertion fixé complément_dégressif.montant_versé par décret
champ d'application AllocationsFamiliales :
assertion fixé montant_versé_complément par décret
*/
@Article L521-2|LEGIARTI000006743210@
Les allocations sont versées à la personne qui assume, dans quelques conditions
que ce soit, la charge effective et permanente de l'enfant.
/*
# champ d'application CalculAllocationsFamiliales :
# définition allocations_familiales.charge_par_enfant de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (enfant.prise_en_charge sous forme Complète)
# conséquence égal à Complète
champ d'application AllocationsFamiliales :
étiquette définition_prise_en_compte
définition prise_en_compte de enfant égal à Complète
# définition allocations_familiales.récipiendaire_par_enfant de enfant
# sous condition enfant dans ménage.enfants
# conséquence égal à ménage.parent_en_charge
étiquette définition_versement
définition versement de enfant égal à Normal
*/
En cas de résidence alternée de l'enfant au domicile de chacun des parents telle
@ -232,47 +185,41 @@ désaccord sur la désignation de l'allocataire. Un décret en Conseil d'Etat fi
les conditions d'application du présent alinéa.
/*
# champ d'application CalculAllocationsFamiliales :
# # Premier cas : garde alternée, parents désignent un unique allocataire
# règle allocations_garde_alternée.unique_allocataire de enfant sous condition
# (enfant dans ménage.enfants) et
# (enfant.prise_en_charge sous forme GardeAlternée) et
# ((allocations_garde_alternée.choix_allocataire de enfant)
# sous forme Présent) et
# ((allocations_garde_alternée.choix_allocataire de enfant) -> Présent
# sous forme UnParent) et
# (((allocations_garde_alternée.choix_allocataire de enfant) -> Présent -> UnParent)
# dans ménage.parents)
# conséquence rempli
champ d'application AllocationsFamiliales :
# Premier cas : garde alternée, parents désignent un unique allocataire
exception définition_prise_en_compte
définition prise_en_compte de enfant sous condition
selon enfant.garde_alternée sous forme
-- OuiAllocataireUnique: vrai
-- OuiPartageAllocations: faux
-- NonGardeUnique: faux
conséquence égal à Complète
# définition allocations_familiales.charge_par_enfant de enfant
# sous condition allocations_garde_alternée.unique_allocataire de enfant
# conséquence égal à Complète
exception définition_versement
définition versement de enfant sous condition
selon enfant.garde_alternée sous forme
-- OuiAllocataireUnique: vrai
-- OuiPartageAllocations: faux
-- NonGardeUnique: faux
conséquence égal à Normal
# # Deuxième cas : garde alternée, parents partagent la charge pour
# # l'allocation
# règle allocations_garde_alternée.allocataire_double de enfant sous condition
# (enfant dans ménage.enfants) et
# (enfant.prise_en_charge sous forme GardeAlternée) et
# (enfant.choix_allocataire_garde_alternée sous forme Présent) et
# (enfant.choix_allocataire_garde_alternée -> Présent sous forme DeuxParents)
# conséquence rempli
# Deuxième cas : garde alternée, parents partagent la charge pour
# l'allocation
exception définition_prise_en_compte
définition prise_en_compte de enfant sous condition
selon enfant.garde_alternée sous forme
-- OuiPartageAllocations: vrai
-- OuiAllocataireUnique: faux
-- NonGardeUnique: faux
conséquence égal à Partagée
# définition allocations_familiales.charge_par_enfant de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (allocations_garde_alternée.allocataire_double de enfant)
# conséquence égal à Partagée
# définition allocations_familiales.charge_par_enfant de enfant sous condition
# (enfant dans ménage.enfants) et
# (enfant.prise_en_charge sous forme GardeAlternée) et
# (allocations_garde_alternée.demande_conjointe_partage_charge de enfant ou
# allocations_garde_alternée.desaccord_charge de enfant)
# conséquence égal à Partagée
# Quelles variables fixées par R521_2 ?
exception définition_versement
définition versement de enfant sous condition
selon enfant.garde_alternée sous forme
-- OuiPartageAllocations: vrai
-- OuiAllocataireUnique: faux
-- NonGardeUnique: faux
conséquence égal à Partagée
*/
Lorsque la personne qui assume la charge effective et permanente de l'enfant ne
@ -280,15 +227,7 @@ remplit pas les conditions prévues au titre I du présent livre pour l'ouvertur
du droit aux allocations familiales, ce droit s'ouvre du chef du père ou,
à défaut, du chef de la mère.
/*
# champ d'application CalculAllocationsFamiliales :
# définition allocations_familiales.récipiendaire_par_enfant de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (titre_I.droits_ouverts_allocations_familiales de
# (ménage.parent_en_charge de enfant))
# conséquence égal à ménage.parent1
# ménage.parent1 est le père ou à défaut la mère
# (ménage.parent2 est optionnel)
# Non formalisé pour le calcul du montant des allocations
*/
Lorsqu'un enfant est confié au service d'aide sociale à l'enfance, les
@ -305,18 +244,14 @@ charge morale ou matérielle de l'enfant ou en vue de faciliter le retour
de l'enfant dans son foyer.
/*
# champ d'application CalculAllocationsFamiliales :
# définition allocations_familiales.charge_par_enfant de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (enfant.confié_service_social)
# conséquence égal à Complète
# définition allocations_familiales.récipiendaire_par_enfant de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (enfant.confié_service_social)
# conséquence égal à service_social
champ d'application AllocationsFamiliales :
exception définition_versement
définition versement de enfant sous condition
selon enfant.pris_en_charge_par_services_sociaux sous forme
-- OuiAllocationVerséeAuxServicesSociaux: vrai
-- OuiAllocationVerséeÀLaFamille: faux
-- NonPriseEnChargeFamille: faux
conséquence égal à AllocationVerséeAuxServicesSociaux
*/
Un décret en Conseil d'Etat fixe les conditions d'application du présent
@ -339,26 +274,24 @@ d) enfants confiés à un service public, à une institution privée, à un part
l'exception du plus âgé, ouvre droit à partir d'un âge minimum à une
majoration des allocations familiales.
/*
# champ d'application CalculAllocationsFamiliales :
# règle majorations_allocations_familiales.droits_ouverts de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (enfant != ménage.enfant_plus_âgé) et
# (enfant.âge >= l521_3.âge_limite_alinéa_1 de enfant)
# conséquence rempli
champ d'application AllocationsFamiliales :
règle droit_ouvert_majoration de enfant
sous condition
(non (est_enfant_le_plus_âgé de enfant)) et
(enfant.âge >= âge_limite_alinéa_1_l521_3 de enfant)
conséquence rempli
*/
Toutefois, les personnes ayant un nombre déterminé d'enfants à charge
bénéficient de ladite majoration pour chaque enfant à charge à partir
de l'âge mentionné au premier alinéa.
/*
# champ d'application CalculAllocationsFamiliales :
# règle majorations_allocations_familiales.droits_ouverts de enfant
# sous condition
# (enfant dans ménage.enfants) et
# (nombre de ménage.enfants >= l521_3.minimum_alinéa_2) et
# (enfant.âge >= l521_3.âge_limite_alinéa_1 de enfant)
# conséquence rempli
champ d'application AllocationsFamiliales :
règle droit_ouvert_majoration de enfant
sous condition
(nombre de enfants_à_charge >= nombre_enfants_alinéa_2_l521_3) et
(enfant.âge >= âge_limite_alinéa_1_l521_3 de enfant)
conséquence rempli
*/
@@Titre 5 : Dispositions communes@@+++
@ -371,14 +304,13 @@ mensuelles de calcul revalorisées au 1er avril de chaque année par application
du coefficient mentionné à l'article L. 161-25 .
/*
# Idem que L521-1, on ne formalise pas ici l'évolution de la BMPA
# champ d'application PrestationsFamiliales :
# assertion fixé prestations_familiales.base_mensuelle par décret
champ d'application PrestationsFamiliales :
assertion fixé prestations_familiales.base_mensuelle par décret
*/
@@Livre 7 : Régimes divers - Dispositions diverses@@++
@@Titre 5 : Dispositions particulières à la Guadeloupe, à la Guyane, à la
Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin@@+++
@@Titre 5 : Dispositions particulières à la Guadeloupe, à la Guyane, à la Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin@@+++
@@Chapitre 1er : Généralités@@++++
@ -388,15 +320,15 @@ en Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin à
l'ensemble des bénéficiaires de la législation générale de sécurité
sociale, y compris les membres des professions agricoles.
/*
# champ d'application CalculPrestationsFamiliales :
# règle l751_1.régime_outre_mer sous condition
# (ménage.résidence = Guadeloupe) ou
# (ménage.résidence = Guyane) ou
# (ménage.résidence = Martinique) ou
# (ménage.résidence = LaRéunion) ou
# (ménage.résidence = SaintBarthélemy) ou
# (ménage.résidence = SaintMartin)
# conséquence rempli
champ d'application PrestationsFamiliales :
règle régime_outre_mer_l751_1 sous condition
(résidence = Guadeloupe) ou
(résidence = Guyane) ou
(résidence = Martinique) ou
(résidence = LaRéunion) ou
(résidence = SaintBarthélemy) ou
(résidence = SaintMartin)
conséquence rempli
*/
@@Chapitre 5 : Prestations familiales et prestations assimilées@@++++
@ -410,9 +342,7 @@ La base de calcul des prestations familiales est la même que celle qui est
fixée en application de l'article L. 551-1 .
/*
# champ d'application CalculPrestationsFamiliales :
# définition prestations_familiales.base_mensuelle_dom égal à
# prestations_familiales.base_mensuelle
# Aucun changement dans le code, puisque les articles restent applicables
*/
@Article L755-11|LEGIARTI000031323803@
@ -430,11 +360,11 @@ longtemps que le présent chapitre V est applicable.
Les allocations familiales sont dues, pour tout enfant, à la personne qui a
effectivement la charge de celui-ci.
/*
# champ d'application CalculAllocationsFamiliales :
# règle allocations_familiales.droits_ouverts sous condition
# (l751_1.régime_outre_mer) et
# (nombre de ménage.enfants >= 1)
# conséquence rempli
champ d'application AllocationsFamiliales:
règle droit_ouvert_base sous condition
prestations_familiales.régime_outre_mer_l751_1 et
(nombre de enfants_à_charge >= 1)
conséquence rempli
*/
Toutefois, les quatre derniers alinéas de l'article L. 521-1 ne sont pas
applicables lorsque le ménage ou la personne a un seul enfant à charge.
@ -442,16 +372,14 @@ applicables lorsque le ménage ou la personne a un seul enfant à charge.
# Ceci concerne l'ouverture du droit à l'allocation forfaitaire
# et au complément dégressif.
# champ d'application CalculAllocationsFamiliales :
# règle allocation_forfaitaire.droits_ouverts de enfant sous condition
# (l751_1.régime_outre_mer) et
# (nombre de ménage.enfants = 1)
# conséquence non rempli
champ d'application AllocationsFamiliales :
règle droit_ouvert_forfaitaire de enfant sous condition
prestations_familiales.régime_outre_mer_l751_1 et
(nombre de enfants_à_charge = 1)
conséquence non rempli
# règle
# complément_dégressif.droits_ouvert de allocation
# sous condition
# (l751_1.régime_outre_mer) et
# (nombre de ménage.enfants = 1)
# conséquence non rempli
règle droit_ouvert_complément sous condition
prestations_familiales.régime_outre_mer_l751_1 et
(nombre de enfants_à_charge = 1)
conséquence non rempli
*/

View File

@ -11,7 +11,7 @@ Les enfants ouvrent droit aux prestations familiales jusqu'à l'âge de vingt
ans sous réserve que leur rémunération n'excède pas le plafond fixé au deuxième
alinéa du présent article.
/*
champ d'application OuvertureDroitPrestationsFamiliales :
champ d'application PrestationsFamiliales :
définition âge_l512_3_2 égal à 20
*/
@ -20,7 +20,7 @@ un mois, à 55 % du salaire minimum interprofessionnel de croissance défini aux
articles L. 141-1 à L. 141-9 du code du travail, multiplié par 169.
/*
champ d'application OuvertureDroitPrestationsFamiliales :
champ d'application PrestationsFamiliales :
définition plafond_l512_3_2 égal à
(smic.brut_horaire *€ 55 %) *€ 169,0
*/
@ -42,15 +42,15 @@ L'âge mentionné au premier alinéa de l'article L. 521-3 à partir duquel les
enfants ouvrent droit à la majoration des allocations familiales est fixé à
14 ans.
/*
# champ d'application CalculAllocationsFamiliales :
# définition l521_3.âge_limite_alinéa_1 de enfant égal à 14 an
champ d'application AllocationsFamiliales :
définition âge_limite_alinéa_1_l521_3 de enfant égal à 14
*/
Le nombre minimum d'enfants à charge, mentionné au deuxième alinéa de l'article
L. 521-3 ouvrant droit à ladite majoration pour chaque enfant est fixé à trois.
/*
# champ d'application CalculAllocationsFamiliales :
# définition l521_3.minimum_alinéa_2 égal à 3
champ d'application AllocationsFamiliales :
définition nombre_enfants_alinéa_2_l521_3 égal à 3
*/
NOTA : Décret n° 2008-409 du 28 avril 2008 JORF du 29 avril 2008 art. 2 : Les
@ -61,15 +61,15 @@ le onzième anniversaire est postérieur au 30 avril 2008.
# version du corpus législatif dont un morceau s'applique encore. Nous avons
# choisi de montrer ce vieux champ d'application ici plutôt qu'à côté du texte
# du décret de 2008 pour des raisons de place seulement.
# champ d'application CalculAllocationFamilialesAvril2008:
# # Âge limite avant décret n° 2008-409 du 28 avril 2008
# définition l521_3.minimum_alinéa_2 de enfant égal à 16 an
champ d'application AllocationFamilialesAvril2008:
# Âge limite avant décret n° 2008-409 du 28 avril 2008
définition âge_limite_alinéa_1_l521_3 égal à 16
# champ d'application CalculAllocationsFamiliales :
# définition l521_3.minimum_alinéa_2 de enfant
# sous condition (enfant.date_naissance + 11 an <= |30/04/2008|)
# conséquence égal à
# calcul_avril_2008.l521_3.minimum_alinéa_2 de enfant
champ d'application AllocationsFamiliales :
définition âge_limite_alinéa_1_l521_3 de enfant
sous condition (enfant.date_de_naissance +@ 11 an <=@ |30/04/2008|)
conséquence égal à
version_avril_2008.âge_limite_alinéa_1_l521_3
*/
@Article R521-2|LEGIARTI000006750608@
Dans les situations visées au deuxième alinéa de l'article L. 521-2 ,
@ -84,19 +84,6 @@ une demande conjointe de partage.
/*
# Le fait que l'allocataire dans le cas d'un commun accord soit celui des
# deux parents désigné par l'accord est déjà modélisé dans L512-2.
# champ d'application CalculAllocationsFamiliales :
# définition allocations_familiales.charge_par_enfant de enfant sous condition
# (enfant dans ménage.enfants) et
# (enfant.prise_en_charge sous forme GardeAlternée) et
# (
# (allocations_garde_alternée.demande_conjointe_partage_charge) ou
# (
# (non allocations_garde_alternée.demande_conjointe_partage_charge) et
# (enfant.choix_allocataire_garde_alternée sous forme Absent)
# )
# )
# conséquence égal à Partagée
*/
Lorsque les parents ont désigné un allocataire unique ou fait une demande

View File

@ -4,31 +4,43 @@
/*
déclaration champ d'application Test1:
contexte f champ d'application OuvertureDroitPrestationsFamiliales
contexte f champ d'application PrestationsFamiliales
champ d'application Test1:
définition f.âge_l512_3_2_alternatif égal à Absent
définition f.date_courante égal à |01/01/2020|
définition f.date_courante égal à |01/05/2020|
définition f.prestation_courante égal à AllocationsFamiliales
définition f.résidence égal à Métropole
assertion (f.droits_ouverts de Enfant {
-- fin_obligation_scolaire : |01/08/2021|
assertion (f.droit_ouvert de Enfant {
-- fin_obligation_scolaire : |01/08/2023|
-- date_de_naissance: |01/01/2007|
-- âge: 13
-- rémuneration_mensuelle: 0€
-- pris_en_charge_par_services_sociaux: NonPriseEnChargeFamille
-- garde_alternée: NonGardeUnique
})
assertion (non (f.droits_ouverts de Enfant {
assertion (non (f.droit_ouvert de Enfant {
-- fin_obligation_scolaire : |01/08/2019|
-- âge: 17
-- date_de_naissance: |01/01/2003|
-- âge: 18
-- rémuneration_mensuelle: 1000€
-- pris_en_charge_par_services_sociaux: NonPriseEnChargeFamille
-- garde_alternée: NonGardeUnique
}))
assertion (f.droits_ouverts de Enfant {
assertion (f.droit_ouvert de Enfant {
-- fin_obligation_scolaire : |01/08/2019|
-- âge: 17
-- date_de_naissance: |01/01/2003|
-- âge: 18
-- rémuneration_mensuelle: 400€
-- pris_en_charge_par_services_sociaux: NonPriseEnChargeFamille
-- garde_alternée: NonGardeUnique
})
assertion (non (f.droits_ouverts de Enfant {
-- fin_obligation_scolaire : |01/08/2019|
assertion (non (f.droit_ouvert de Enfant {
-- fin_obligation_scolaire : |01/08/2016|
-- date_de_naissance: |01/01/1999|
-- âge: 21
-- rémuneration_mensuelle: 0€
-- pris_en_charge_par_services_sociaux: NonPriseEnChargeFamille
-- garde_alternée: NonGardeUnique
}))
*/

View File

@ -515,11 +515,11 @@ let process_default (ctxt : Name_resolution.context) (scope : Scopelang.Ast.Scop
| Scopelang.Ast.TArrow (t_in, _), Some param_uid -> Some (Pos.unmark param_uid, t_in)
| Scopelang.Ast.TArrow _, None ->
Errors.raise_spanned_error
"this definition has a function type but the parameter is missing"
"This definition has a function type but the parameter is missing"
(Pos.get_position (Bindlib.unbox cons))
| _, Some _ ->
Errors.raise_spanned_error
"this definition has a parameter but its type is not a function"
"This definition has a parameter but its type is not a function"
(Pos.get_position (Bindlib.unbox cons))
| _ -> None);
exception_to_rule;

View File

@ -92,8 +92,8 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
try Ast.StructFieldMap.find field_name e_fields
with Not_found ->
Errors.raise_spanned_error
(Format.asprintf "The field %a does not belong to the structure %a"
Ast.StructFieldName.format_t field_name Ast.StructName.format_t struct_name)
(Format.asprintf "Missing field for structure %a: \"%a\""
Ast.StructName.format_t struct_name Ast.StructFieldName.format_t field_name)
(Pos.get_position e)
in
let field_d = translate_expr ctx field_e in
@ -107,8 +107,8 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
in
if Ast.StructFieldMap.cardinal remaining_e_fields > 0 then
Errors.raise_spanned_error
(Format.asprintf "Missing fields for structure %a: %a" Ast.StructName.format_t
struct_name
(Format.asprintf "The fields \"%a\" do not belong to the structure %a"
Ast.StructName.format_t struct_name
(Format.pp_print_list
~pp_sep:(fun fmt () -> Format.fprintf fmt ", ")
(fun fmt (field_name, _) ->
@ -123,7 +123,7 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
try List.assoc field_name (List.mapi (fun i (x, y) -> (x, (y, i))) struct_sig)
with Not_found ->
Errors.raise_spanned_error
(Format.asprintf "The field %a does not belong to the structure %a"
(Format.asprintf "The field \"%a\" does not belong to the structure %a"
Ast.StructFieldName.format_t field_name Ast.StructName.format_t struct_name)
(Pos.get_position e)
in
@ -138,7 +138,7 @@ let rec translate_expr (ctx : ctx) (e : Ast.expr Pos.marked) : Dcalc.Ast.expr Po
try List.assoc constructor (List.mapi (fun i (x, y) -> (x, (y, i))) enum_sig)
with Not_found ->
Errors.raise_spanned_error
(Format.asprintf "The constructor %a does not belong to the enum %a"
(Format.asprintf "The constructor \"%a\" does not belong to the enum %a"
Ast.EnumConstructor.format_t constructor Ast.EnumName.format_t enum_name)
(Pos.get_position e)
in