Skip to main content

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])