Version 6

Calcul de plafond

PL_HRSDUREE : Durée en heures pour les temps partiels

Correctif pour prendre en compte les forfaits jours

Avant

CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE]

Après

si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
alors (
  CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)
  /
  CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)
)
SINON(
  CONSTANTE(CONTRAT.HORAIREMENSREEL)+[NBHRSCOMPL.MONTANT]-[TPT_NONPAYE.DUREE]
)

V_AGCP.HREMU

Correctif pour l'horaire collectif des forfaits jours

Remplacement de 218 par CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)

Avant

 {Forfait Annuel en jours}
               si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
               alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)/218
                      *
                       si (([IJBRUT.MONTANT]<>0) ou ([ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT]<>0))
                       alors ([BC_BRUT_URSAFF.MONTANT]
                               /
                               ([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT] +[ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT])
                       )
                       sinon (1)
                      )
               sinon (

Après

 {Forfait Annuel en jours}
               si (CONSTANTE(CONTRAT.SITUATIONHORAIRE)=4)
               alors (CONSTANTE(CONTRAT.HORAIRECOLLECTIF)*CONSTANTE(CONTRAT.JOUR_FORFAIT)/CONSTANTE(CONTRAT.FORFAITJOURCOLLECTIF)
                      *
                       si (([IJBRUT.MONTANT]<>0) ou ([ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT]<>0))
                       alors ([BC_BRUT_URSAFF.MONTANT]
                               /
                               ([BC_BRUT_URSAFF.MONTANT]+[IJBRUT.MONTANT] +[ABSTOTALV.MONTANT]-[ABSTOTALM.MONTANT])
                       )
                       sinon (1)
                      )
               sinon (

Calcul AGCP et SMICPRORATE

Remplacement de histocumulsitu par histo cumuljoint car le calcul annuel se fait désormais tout contrat confondu

BC_MALCOMP25 : Assiette complément maladie si salaire>2.5 SMIC

Avant

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

Après

si (
   (([V_AGCP.CUMREMUCOEF]) >  (2.5*[V_AGCP.CUMSMICPRORATE]))
   et ([V_AGCP.CUMREMUCOEF]>0)
   et ([V_AGCP.CUMSMICPRORATE]>0)
   )
alors (
        histocumuljoint([BC_BRUT_URSAFF.MONTANT])+ [BC_BRUT_URSAFF.MONTANT]
        - histocumuljoint([BC_MALCOMP25.MONTANT])
      )
sinon (
        histocumuljoint([BC_MALCOMP25.MONTANT])*(-1)
      )
BC_REG_ALLOC Base régularisation alloc

Avant

si (
      ([V_AGCP.CUMREMUCOEF]<=(3.5*[V_AGCP.CUMSMICPRORATE]))
      ou ([V_AGCP.CUMREMUCOEF]<=0)
      ou ([V_AGCP.CUMSMICPRORATE]<=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 (
      ([V_AGCP.CUMREMUCOEF]<=(3.5*[V_AGCP.CUMSMICPRORATE]))
      ou ([V_AGCP.CUMREMUCOEF]<=0)
      ou ([V_AGCP.CUMSMICPRORATE]<=0)
      )
alors (
              histocumuljoint([V_ALLOC.BASEALLOC])*(-1)
              -histocumuljoint([BC_REG_ALLOC.MONTANT])
      )
sinon (
            histocumuljoint([V_ALLOC.BASEALLOCRED])
            +histocumuljoint([BC_REG_ALLOCRE.MONTANT])
      )
Correctif sur fonction F_AGCP

Avant

si ((si (moisfin=0) alors (12) sinon (moisfin))<[AGCPDEBUT.MONTANT])
alors (0)
sinon (
si ((moisdebut=0) ou (moisfin=0))
alors (histocumulsitu(RUBACUMULER))
sinon (
        histocumulsitu(RUBACUMULER;
                          maximum(1;(si (moisdebut=0) alors (1) sinon (moisdebut));[AGCPDEBUT.MONTANT]);
                          CONSTANTE(GENERAL.ANNEE_PAYE);
                          (si (moisfin=0) alors (12) sinon (moisfin));
                          CONSTANTE(GENERAL.ANNEE_PAYE)
               )
       )
       )

Après

si ((si (moisfin=0) alors (12) sinon (moisfin))<[AGCPDEBUT.MONTANT])
alors (0)
sinon (
si ((moisdebut=0) ou (moisfin=0))
alors (histocumuljoint(RUBACUMULER))
sinon (
        histocumuljoint(RUBACUMULER;
                          maximum(1;(si (moisdebut=0) alors (1) sinon (moisdebut));[AGCPDEBUT.MONTANT]);
                          CONSTANTE(GENERAL.ANNEE_PAYE);
                          (si (moisfin=0) alors (12) sinon (moisfin));
                          CONSTANTE(GENERAL.ANNEE_PAYE)
               )
       )
       )

 

Assistantes familiales

66_AFDISPO : Indemnité de disponibilité

A saisir en variable de paye
Indemnité de disponibilité qui « ne peut être inférieure
à 2.25 fois le montant du salaire minimum de croissance, sans pouvoir être
inférieure à 90% de la rémunération prévue par le contrat de travail ».
Pour chaque journée de disponibilité, une comparaison doit être effectuée entre le salaire
légal (2.25 x Smic horaire) et contractuel (90% de la rémunération contractuelle).

66_AFPARTMIXTE : Part accueil mixte

Correctif pour que la rubrique fonctionne même si pas d'enfant au contrat.

Et comparatif entre le légal et le conventionnel

Avant :

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
alors (
      [66_AFJRSINTER.MONTANT]/26
      *([66_AF_1ENF.RESULTAT])
      *[VP.VP]*(1+CONSTANTE(GENERAL.TAUXSUJETION66)/100)
      )
sinon (0)

Après

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) )
alors (
      maximum(
              [66_AFJRSINTER.BASE]*5.06*CONSTANTE(GENERAL.SMICHOR)
              ;
              [66_AFJRSINTER.MONTANT]/26
              *([66_AF_1ENF.RESULTAT])
              *[VP.VP]*(1+CONSTANTE(GENERAL.TAUXSUJETION66)/100)
              )
      )
sinon (0)
66_AFNBJINT : Nombre de jours d'accueil permanent intermittent

Erreur sur la formule sur le nombre de jour d'accueil enfant 2

Avant

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
   et ([66_AFACCINTER.MONTANT]=1))
alors (
      [66_AFNBJENF1.MONTANT]
      +
      si ([66_AFNBENF.MONTANT]>=2)
      alors (
            [66_AFNBJENF2.MONTANT]=0
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=3)
      alors (
            [66_AFNBJENF3.MONTANT]
            )
      sinon (0)
      )
sinon (0)

Après

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
   et ([66_AFACCINTER.MONTANT]=1))
alors (
      [66_AFNBJENF1.MONTANT]
      +
      si ([66_AFNBENF.MONTANT]>=2)
      alors (
            [66_AFNBJENF2.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=3)
      alors (
            [66_AFNBJENF3.MONTANT]
            )
      sinon (0)
      )
sinon (0)
66_AFNBJABSCP : Nombre de jour absence convenance personnelle

Création de la rubrique pour minorer l'accueil non réalisé

66_AFNBJABS1

Création de la rubrique pour minorer l'accueil non réalisé par enfant

Comment faire lorsque le nombre d'enfant contractuel change en cours de mois ?

Exemple 1 : Du 1er au 10 -> 2 enfants et du 11 au 30 -> 1 enfant

Exemple 2 : Du 1er au 10 -> 1 enfant et du 11 au 30 -> 2 enfant

Augmenter le nombre d'enfant

Afin de simplifier la rubrique 66_AF, on va créer des fonctions qui donneront le résultat.

Création d'une fonction :

66AF (REMU , CONV , NBJACCUEIL,NBJABSCP , PROG , PRECPROG,NUMERO)

Passage à 5 enfants :

Création des rubriques suivantes sur le même modèle que les autres :

Il n'y a pas d'indemnité pour accueil non réalisé pour les enfants 4 et 5

66_AFIACCNE : Indemnité compensatrice pour accueil non réalisé

si ([66_AF.PRENDRELEG1]=1)
      alors ([66_AF.ABSLEG1])
      sinon ([66_AF.ABSCONV1])
+
si ( [66_AFNBENF.MONTANT]>1
   )
alors (
      si ([66_AF.PRENDRELEG2]=1)
      alors ([66_AF.ABSLEG2])
      sinon ([66_AF.ABSCONV2])
      )
sinon (0)
+
si ( [66_AFNBENF.MONTANT]>2
   )
alors (
      si ([66_AF.PRENDRELEG3]=1)
      alors ([66_AF.ABSLEG3])
      sinon ([66_AF.ABSCONV3])
      )
sinon (0)

66_AFBASE : Salaire de base

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0) )
alors (
                [66_AFPART1.MONTANT]
                +[66_AFPART2.MONTANT]
                +[66_AFPART3.MONTANT]
                +[66_AFPART4.MONTANT]
                +[66_AFPART5.MONTANT]
                +[66_AFPARTMIXTE.MONTANT]
       )
sinon (0)

66_AFNBJRPER : Nombre de jours d'accueil Permanent continu

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
   et ([66_AFACCINTER.MONTANT]=0))
alors (
      [66_AFNBJENF1.MONTANT]
      +
      si ([66_AFNBENF.MONTANT]>=2)
      alors (
            [66_AFNBJENF2.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=3)
      alors (
            [66_AFNBJENF3.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=4)
      alors (
            [66_AFNBJENF4.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=5)
      alors (
            [66_AFNBJENF5.MONTANT]
            )
      sinon (0)
      )
sinon (0)

66_AFNBJINT : Nombre de jours d'accueil permanent intermittent

si ( (CONSTANTE(CONTRAT.NATURECONTRAT)=3) et ([NUMCONV.NUMCONV]=66) et ([66_AFNBENF.MONTANT]<>0)
   et ([66_AFACCINTER.MONTANT]=1))
alors (
      [66_AFNBJENF1.MONTANT]
      +
      si ([66_AFNBENF.MONTANT]>=2)
      alors (
            [66_AFNBJENF2.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=3)
      alors (
            [66_AFNBJENF3.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=4)
      alors (
            [66_AFNBJENF4.MONTANT]
            )
      sinon (0)
      +
      si ([66_AFNBENF.MONTANT]>=5)
      alors (
            [66_AFNBJENF5.MONTANT]
            )
      sinon (0)

      )
sinon (0)

 


Revision #19
Created 21 February 2023 17:46:42 by Valéry HUMEZ
Updated 24 February 2023 09:48:16 by Valéry HUMEZ