Skip to main content

Version 3 : RGDU : Allocation Familiale

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)
    ALLOCFAMCOMP.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 (1.80)

    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 (1.80)
          )
    sinon (0)
    ALLOCFAMCOMPNEG.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 (-1.80)

    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 (-1.80)
          )
    sinon (0)