Version 3 : RGDU :
Le calcul de la RGDU
Il s'agit de remplacer les formules base de cotisation de l'agcp par le mot clé RGDU
Pour simplifier, ajout d'une fonction avec un paramètre : TYPEMONTANT
- 0-> RGDU mensuel
- 1-> RGDU Urssaf mensuel
- 2-> RGDU AA mensuel
F_RGDU
declarer (FORFAITJOUR)
affecter (FORFAITJOUR;si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
alors (1)
sinon (0)
)
declarer (AD)
affecter (AD;si (CONSTANTE(CONTRAT.TYPESALARIE)=5)
alors (1)
sinon (0)
)
declarer (NBHEURES)
affecter (NBHEURES;si (:AD=1)
alors ([AD_HNEXO.BASE])
sinon (
si (:FORFAITJOUR=1)
alors (0)
sinon (CONSTANTE(CONTRAT.HORAIREMENSUEL))
)
)
declarer (NBJOURS)
affecter (NBJOURS;si ((:FORFAITJOUR=0) ou (:AD=1))
alors (0)
sinon (CONSTANTE(CONTRAT.JOUR_FORFAIT))
)
declarer (HSUP)
affecter (HSUP;si (:AD=1)
alors([AGCP_HREMUPLUS.MONTANT]*[AD_HNEXO.BASE]/([AD_HNEXO.BASE]+[AD_HEXO.BASE]))
sinon ([AGCP_HREMUPLUS.MONTANT])
)
declarer (HORBASE)
affecter (HORBASE;si ([AGCPHORAN.BASE]=0)
alors (
si (LISTEGEN(TPSAN;CONSTANTE(CONTRAT.CATPERSO))=0)
alors (1607)
sinon (LISTEGEN(TPSAN;CONSTANTE(CONTRAT.CATPERSO)))
)
sinon ([AGCPHORAN.BASE])
)
declarer (HEXO)
affecter (HEXO;si (:AD=1)
alors ([AD_HEXO.BASE])
sinon (0)
)
declarer (ANNEE)
affecter (ANNEE;si ([PLAFONDSECU.NUMCAS]=2)
alors (CONSTANTE(CONTRAT.ANNEE_CLOTURE))
sinon (CONSTANTE(GENERAL.ANNEE_PAYE)))
declarer (MOIS)
affecter (MOIS;si ([PLAFONDSECU.NUMCAS]=2)
alors (CONSTANTE(CONTRAT.MOIS_CLOTURE))
sinon (CONSTANTE(GENERAL.MOIS_PAYE)))
rgdu(TYPEMONTANT;
:ANNEE;
:MOIS;
CONSTANTE(GENERAL.FNAL010);
:NBHEURES;
:NBJOURS;
:HSUP;
[AGCPITREMU.MONTANT];
[AGCP_NUMHREMU.MONTANT];
[B_PXHEURE.MONTANT];
:HORBASE;
:AD;
:HEXO)
BC_AGCPURSSAF
Avant
si (
([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
)
alors (
si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
alors ([V_NEWAGCP.AGCPURSSAF])
sinon (
[V_AGCP.TOTAGCP]
*CONSTANTE(GENERAL.COEFAGCPURSSAF)
/(CONSTANTE(GENERAL.COEFAGCPURSSAF)+CONSTANTE(GENERAL.COEFAGRETRAITE))
+[V_AGCP.TOTAGCPCHOM]
histocumulsitu([BC_AGCPURSSAF.MONTANT];1;CONSTANTE(CONTRAT.ANNEE_CLOTURE);12;CONSTANTE(CONTRAT.ANNEE_CLOTURE))
)
)
sinon (0)
Après
F_RGDU(1)
BC_AGCPAA
Avant
si (
([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
)
alors (
si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
alors ([V_NEWAGCP.AGCPAA])
sinon (
si ([AGCPURSSAF.BASE]<>0)
alors (
[V_AGCP.MTAGCPMENS]+[V_AGCP.MTAGCPMENSCHOM]-[AGCPURSSAF.BASE]
)
sinon (0)
+
si ([AGCPURSSRENF.BASE]<>0)
alors (
[V_AGCP.MTAGCPMENSRENF]-[AGCPURSSRENF.BASE]
)
sinon (0)
)
)
sinon (0)
Après
F_RGDU(2)
BC_ADAGCPURSS
Avant
si (CONSTANTE(CONTRAT.RAPPEL_FICHE)=1)
alors (0)
sinon (
si (([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0))
alors (
si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
alors ([V_AD_AGCP.ADAGCPURSSAF])
sinon (0)
)
sinon (0)
)
Après
F_RGDU(1)
BC_ADAGCPRUAA
Avant
si ((
([AGCPURSSAF_1.BASE]=0) et ([AGCPURSAFREG_1.BASE]=0) et ([AGCPRUAA_1.BASE]=0)
et ([AGCPURS_AD_1.BASE]=0) et ([AGCPURFR_AD_1.BASE]=0) et ([AGCPRUAA_AD_1.BASE]=0)
)
ou (CONSTANTE(CONTRAT.RAPPEL_FICHE)=0)
)
alors (
si ((CONSTANTE(CONTRAT.ANNEE_CLOTURE)=0)
ou (CONSTANTE(CONTRAT.ANNEE_CLOTURE)>=2024))
alors ([V_AD_AGCP.ADAGCPAA])
sinon (0)
)
sinon (0)
Après
F_RGDU(2)