Version 5
Modification de BC_CSG et BC_CRDS
Il s'agit de traiter le cas des bulletins de régularisation quand V_CSG.CUM_ABT et V_CSG.CUM_NABT n'existaient pas
BC_CSG
Avant
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>2024)
ou ((CONSTANTE(GENERAL.ANNEE_PAYE)=2024) et ([PLAFONDSECU.NUMCAS]=1))
)
alors (
si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
alors ([FO.TOTAL])
sinon (
[V_CSG.CUM_ABT]
+[V_CSG.CUM_NABT]
-F_HISTOCLOT([BC_CSG.MONTANT])
)
)
sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
)
sinon (
si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CSG.MONTANT]))
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
)
)
)
Après
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>2024)
ou ((CONSTANTE(GENERAL.ANNEE_PAYE)=2024) et ([PLAFONDSECU.NUMCAS]=1))
)
alors (
si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
alors ([FO.TOTAL])
sinon (
si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024))
alors ([B_COT_CSG.MONTANT])
sinon (
[V_CSG.CUM_ABT]
+[V_CSG.CUM_NABT]
-F_HISTOCLOT([BC_CSG.MONTANT])
)
)
)
sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
)
sinon (
si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CSG.MONTANT]))
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CSG.MONTANT]))
)
)
)
BC_CRDS
Avant
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>2024)
ou ((CONSTANTE(GENERAL.ANNEE_PAYE)=2024) et ([PLAFONDSECU.NUMCAS]=1))
)
alors (
si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
alors ([FO.TOTAL])
sinon (
[V_CSG.CUM_ABT]
+[V_CSG.CUM_NABT]
-F_HISTOCLOT([BC_CSG.MONTANT])
)
)
sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CRDS.MONTANT]))
)
sinon (
si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CRDS.MONTANT]))
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CRDS.MONTANT]))
)
)
)
Après
si ((CONSTANTE(CONTRAT.PAS_RESIDENTETRANGER)=1) et (CONSTANTE(CONTRAT.PAS_ACTIF)=0))
alors (0)
sinon (
si ((CONSTANTE(GENERAL.NEWCSG)=1) ou (CONSTANTE(GENERAL.ANNEE_PAYE)>2024)
ou ((CONSTANTE(GENERAL.ANNEE_PAYE)=2024) et ([PLAFONDSECU.NUMCAS]=1))
)
alors (
si ((CONSTANTE(CONTRAT.NATURECONTRAT)=0008) et ([FO.TOTAL]<>0))
alors ([FO.TOTAL])
sinon (
si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024))
alors ([B_COT_CSG.MONTANT])
sinon (
[V_CSG.CUM_ABT]
+[V_CSG.CUM_NABT]
-F_HISTOCLOT([BC_CSG.MONTANT])
)
)
)
sinon (
si (CONSTANTE(CONTRAT.NATURECONTRAT)=0008)
alors (
si ([FO.TOTAL]<>0)
alors ([FO.TOTAL])
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CRDS.MONTANT]))
)
sinon (
si (CONSTANTE(CONTRAT.DSNNATURE)=29)
alors (F_TESTCSG([BC_BRUT_STA.MONTANT]*0.9825;[BC_CRDS.MONTANT]))
sinon (F_TESTCSG([B_COT_CSG.MONTANT];[BC_CRDS.MONTANT]))
)
)
)
Modification de V_newagcp
Normalement V_newagcp existe obligatoirement à partir de 2024
Donc pour les bulletin de régul, si l'année de cloture est inférieure on prend V_AGCP sinon on prend V_newagcp
V_NEWAGCP.CUMREMUCOEF
Avant
[V_NEWAGCP.REMUCOEF]
+
si (
([PLAFONDSECU.NUMCAS]=1)
et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
)
alors (
F_AGCP([V_NEWAGCP.REMUCOEF];[AGCPDEBUT.MONTANT])
)
sinon (
F_AGCP([V_AGCP.REMUCOEF];[AGCPDEBUT.MONTANT])
)
Après
[V_NEWAGCP.REMUCOEF]
+
si (
([PLAFONDSECU.NUMCAS]=1)
et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
)
alors (
F_AGCP([V_NEWAGCP.REMUCOEF];[AGCPDEBUT.MONTANT])
)
sinon (
si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
alors (F_AGCP([V_AGCP.REMUCOEF];[AGCPDEBUT.MONTANT]))
sinon (F_AGCP([V_NEWAGCP.REMUCOEF];[AGCPDEBUT.MONTANT]))
)
V_NEWAGCP.CUMREMUCOEF
Avant
si (CONSTANTE(GENERAL.SMICAGCP)=0)
alors (
[V_NEWAGCP.SMICPRO]+
si (
([PLAFONDSECU.NUMCAS]=1)
et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
)
alors (
F_AGCP([V_NEWAGCP.SMICPRO];[AGCPDEBUT.MONTANT])
)
sinon (
F_AGCP([V_AGCP.SMICPRORATE];[AGCPDEBUT.MONTANT])
)
)
sinon ([V_NEWAGCP.TOTSMICPRO])
Après
si (CONSTANTE(GENERAL.SMICAGCP)=0)
alors (
[V_NEWAGCP.SMICPRO]+
si (
([PLAFONDSECU.NUMCAS]=1)
et ((CONSTANTE(GENERAL.ANNEE_PAYE)>=2024) ou (CONSTANTE(GENERAL.AGCP_AD)=1))
)
alors (
F_AGCP([V_NEWAGCP.SMICPRO];[AGCPDEBUT.MONTANT])
)
sinon (
si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
alors (F_AGCP([V_AGCP.SMICPRORATE];[AGCPDEBUT.MONTANT]))
sinon (F_AGCP([V_NEWAGCP.SMICPRORATE];[AGCPDEBUT.MONTANT]))
)
)
sinon ([V_NEWAGCP.TOTSMICPRO])
Vérifier le calcul de Allocfam et MALADIESUP dans un bulletin de régul
dans le cas plafond 2,
si année de cloture <2024 prendre V_agcp.cumsmicpro
sinon on prend V_newagcp.cumsmicpro3112
V_newagcp.CUMSMICPRO3112
Avant
si ([PLAFONDSECU.NUMCAS]=1)
alors (
[V_NEWAGCP.SMICPRO3112]+
F_AGCP([V_NEWAGCP.SMICPRO3112];[AGCPDEBUT.MONTANT])
)
sinon (
[V_NEWAGCP.CUMSMICPRO]
)
Après
si ([PLAFONDSECU.NUMCAS]=1)
alors (
[V_NEWAGCP.SMICPRO3112]+
F_AGCP([V_NEWAGCP.SMICPRO3112];[AGCPDEBUT.MONTANT])
)
sinon (
si (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2024)
alors (F_AGCP([V_AGCP.CUMSMICPRO];[AGCPDEBUT.MONTANT]))
sinon (F_AGCP([V_NEWAGCP.SMICPRO3112];[AGCPDEBUT.MONTANT]))
)
ALLOCFAM et ALLOCFAMREDUIT : On peut virer le test sur CONSTANTE(GENERAL.NEWAGCP)
ALLOCFAM déjà fait
ALLOCFAMREDUIT Avant
si (CONSTANTE(GENERAL.NEWAGCP)=0)
alors (
si (
([V_AGCP.CUMREMUCOEF]>3.5*[V_AGCP.CUMSMICPRORATE])
et ([V_AGCP.CUMREMUCOEF]>0)
et ([V_AGCP.CUMSMICPRORATE]>0)
)
alors (0)
sinon (LISTEGEN(TX_ALLOCF;0002))
)
sinon (
si (
([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
et ([V_NEWAGCP.CUMREMUCOEF]>0)
et ([V_NEWAGCP.CUMSMICPRO3112]>0)
)
alors (0)
sinon (LISTEGEN(TX_ALLOCF;0002))
)
Après
si (
([V_NEWAGCP.CUMREMUCOEF]>3.5*[V_NEWAGCP.CUMSMICPRO3112])
et ([V_NEWAGCP.CUMREMUCOEF]>0)
et ([V_NEWAGCP.CUMSMICPRO3112]>0)
)
alors (0)
sinon (LISTEGEN(TX_ALLOCF;0002))
BC_MALCOMP25
On vire le test sur CONSTANTE(GENERAL.NEWAGCP
on prend F_HISTOCLOTSIT plutôt que histocumulsitu
Avant
si (CONSTANTE(GENERAL.NEWAGCP)= 0)
alors (
si (
(([V_AGCP.CUMREMUCOEF]) > (2.5*[V_AGCP.CUMSMICPRORATE]))
et ([V_AGCP.CUMREMUCOEF]>0)
et ([V_AGCP.CUMSMICPRORATE]>0)
)
alors (
histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
- histocumulsitu([BC_MALCOMP25.MONTANT])
)
sinon (
histocumulsitu([BC_MALCOMP25.MONTANT])*(-1)
)
)
sinon (
si (
(([V_NEWAGCP.CUMREMUCOEF]) > (2.5*[V_NEWAGCP.CUMSMICPRO3112]))
et ([V_NEWAGCP.CUMREMUCOEF]>0)
et ([V_NEWAGCP.CUMSMICPRO3112]>0)
)
alors (
histocumulsitu([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
- histocumulsitu([BC_MALCOMP25.MONTANT])
)
sinon (
histocumulsitu([BC_MALCOMP25.MONTANT])*(-1)
)
)
Après
si (
(([V_NEWAGCP.CUMREMUCOEF]) > (2.5*[V_NEWAGCP.CUMSMICPRO3112]))
et ([V_NEWAGCP.CUMREMUCOEF]>0)
et ([V_NEWAGCP.CUMSMICPRO3112]>0)
)
alors (
f_histoclotsit([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
- f_histoclotsit([BC_MALCOMP25.MONTANT])
)
sinon (
f_histoclotsit([BC_MALCOMP25.MONTANT])*(-1)
)