Skip to main content

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)
         )
rgdu(TYPEMONTANT;
    CONSTANTE(GENERAL.ANNEE_PAYE);
    CONSTANTE(GENERAL.MOIS_PAYE);
    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)

Le calcul de l'allocation familiale

Plus de régularisation en 2026.

Plus d'alloc taux réduit non plus

BC_REG_ALLOC

Avant

declarer (TXSMIC)
affecter (TXSMIC;
         si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
         alors (3.5)
         sinon (3.3)
         )
si (
   ([V_NEWAGCP.CUMREMUAF]<=(:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112]))
   ou ([V_NEWAGCP.CUMREMUAF]<=0)
   ou ([V_NEWAGCP.CUMSMICPRO3112]<=0)
)
alors (
       histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
       -histocumulsitu([BC_REG_ALLOC.MONTANT])
       )
sinon (
      histocumulsitu([V_ALLOC.BASEALLOCRED])
      +histocumulsitu([BC_REG_ALLOCRE.MONTANT])
      )

Après

si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2026))
alors (
      declarer (TXSMIC)
      affecter (TXSMIC;
               si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2025))
               alors (3.5)
               sinon (3.3)
               )
      si (
         ([V_NEWAGCP.CUMREMUAF]<=(:TXSMIC*[V_NEWAGCP.CUMSMICPRO3112]))
         ou ([V_NEWAGCP.CUMREMUAF]<=0)
         ou ([V_NEWAGCP.CUMSMICPRO3112]<=0)
         )
      alors (
            histocumulsitu([V_ALLOC.BASEALLOC])*(-1)
            -histocumulsitu([BC_REG_ALLOC.MONTANT])
            )
      sinon (
            histocumulsitu([V_ALLOC.BASEALLOCRED])
            +histocumulsitu([BC_REG_ALLOCRE.MONTANT])
            )
      )
sinon (0
      )
ALLOCFAMREDUIT.TXEMP

Avant

si (
         ([V_NEWAGCP.CUMREMUAF]>[V_NEWAGCP.TXSMICAF]*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUAF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0)
      sinon (LISTEGEN(TX_ALLOCF;0002))

Après

si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2026))
alors (
      si (
         ([V_NEWAGCP.CUMREMUAF]>[V_NEWAGCP.TXSMICAF]*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUAF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (0)
      sinon (LISTEGEN(TX_ALLOCF;0002))
      )
sinon (0)
ALLOCFAM.TXEMP

 Avant

si (
    ([V_NEWAGCP.CUMREMUAF]>[V_NEWAGCP.TXSMICAF]*[V_NEWAGCP.CUMSMICPRO3112])
    et ([V_NEWAGCP.CUMREMUAF]>0)
    et ([V_NEWAGCP.CUMSMICPRO3112]>0)
    )
alors (LISTEGEN(TX_ALLOCF;0001))
sinon (0)

Après

si (([PLAFONDSECU.NUMCAS]=2) et (CONSTANTE(CONTRAT.ANNEE_CLOTURE)<2026))
alors (
      si (
         ([V_NEWAGCP.CUMREMUAF]>[V_NEWAGCP.TXSMICAF]*[V_NEWAGCP.CUMSMICPRO3112])
         et ([V_NEWAGCP.CUMREMUAF]>0)
         et ([V_NEWAGCP.CUMSMICPRO3112]>0)
         )
      alors (LISTEGEN(TX_ALLOCF;0001))
      sinon (0)
      )
sinon (0)