Skip to main content

Version 3 : RGDU :

Il s'agit de remplacer les formules base de cotisation de l'agcp par le mot clé RGDU

BC_AGCPURSSAF

Avant 

 

Après

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(1;
    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_AGCPAA

Avant 

 

Après

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(2;
    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)