Skip to main content
Répondu

Fonction de calcul - Carence année civile


Bonjour,

 

Sur un dossier sans CCN, je souhaite ne pas appliquer de carence pour les 2 premiers arrêt de l’année civile.

Carence de 3 jours à compter du 3ème arrêt de l’année civile.

 

Le nombre de jours maintenus doit, lui, reprendre les 12 derniers mois comme habituellement.

 

Je n’arrive pas à mettre cette carence en place, à moins d’avoir les deux arrêts sur le même mois, ça ne fonctionne pas.

Auriez vous des idées ? 

Begin

If Emp.Anciennete >= 4 then
Maintien = True
Carence = 0
// MNP/ATT : si 3ème arrêt sur l'année civile (carence = 3j)
annee = Bul.Annee
MaDateDebut = Date(1,1,annee)
MaDateFin = DateAddDays(Abs.DtDeb, -1)

nb = DebutsArrets_Nombre(MaDateDebut,MaDateFin,"09+11")
nbArretsanscarence = 0
ii = 0
do
ii = ii + 1
if ii > nb then exit
//print ii + " : " + DebutsArrets_DtDeb(ii) + " -> " + NbjCalendairesMaintiens(DebutsArrets_DtDeb(ii),DebutsArrets_DtDeb(ii),"09+11",1)
If NbjCalendairesMaintiens(DebutsArrets_DtDeb(ii),DebutsArrets_DtDeb(ii),"09+11",1) = 1 Then nbArretsanscarence = nbArretsanscarence + 1
loop
If nbArretsanscarence >= 2 Then Carence = 3


Select case AffectationDADS
Case "04","08":
// AT & MP
Carence = 0
EndSelect
Endif


If Maintien = True then
Nbjours1 = 30
If Emp.Anciennete >= 72 then Nbjours1 = 40
If Emp.Anciennete >= 132 then Nbjours1 = 50
If Emp.Anciennete >= 192 then Nbjours1 = 60
If Emp.Anciennete >= 252 then Nbjours1 = 70
If Emp.Anciennete >= 312 then Nbjours1 = 80
If Emp.Anciennete >= 372 then Nbjours1 = 90

Nbjours2 = Nbjours1
Pcent1 = 100
Pcent2 = 66.66

TypeMaintien = Net
Plage = Mois12

Else

EndIf

Include("FIN-M-MALADIE")

End

Merci

Meilleure réponse par Loétitia Ledeuil

Bonjour

Dans mon cas pas de carence dès le 1er arrêt, pour vous à remplacer par 3, à tester?

MaDateDebut = Date(1,1,DateYear(Abs.DtDeb))
    MaDateFin = DateAddDays(Abs.DtDeb,-1)
    NbA = NombreAbsences(MaDateDebut,MaDateFin,"09")
    If NbA < 1 then Carence = 0
 

Cdt

Afficher l'original

6 commentaires

Yenaa
Formateur externe
Forum|alt.badge.img+5
  • Formateur externe
  • avr. 20, 2024 6:12 AM UTC

Bonjour 

Inspirez-vouz de la CCN Métallurgie,  de mémoire elle n'applique pas la carence sur le premier arrêt.

Cherchez la FC dans la Synthèse.

Merci


Forum|alt.badge.img+3

bonjour

plutôt s’inspirer de la ccn des banques car ils sont sur ce système de maintien


Yenaa
Formateur externe
Forum|alt.badge.img+5
  • Formateur externe
  • avr. 21, 2024 12:56 PM UTC

Bonjour 

Inspirez-vouz de la CCN Métallurgie,  de mémoire elle n'applique pas la carence sur le premier arrêt.

Cherchez la FC dans la Synthèse.

Merci

Je veux dire Plasturgie ;)


  • Auteur
  • Nouveau
  • avr. 23, 2024 8:35 AM UTC

Bonjour,

 

Merci pour vos réponses. Malheureusement, ces CCN ont le même fonctionnement pour le maintien de salaire et la carence, elles se basent sur la plage année civile :

Plage = AnneeCivile

Je souhaite que l’historique pour la carence soit recherché sur l’année civile tandis que le maintien recherche sur les 12 derniers mois.

J’ai ainsi laissé :

Plage = Mois12

 


Forum|alt.badge.img+2

Bonjour

Dans mon cas pas de carence dès le 1er arrêt, pour vous à remplacer par 3, à tester?

MaDateDebut = Date(1,1,DateYear(Abs.DtDeb))
    MaDateFin = DateAddDays(Abs.DtDeb,-1)
    NbA = NombreAbsences(MaDateDebut,MaDateFin,"09")
    If NbA < 1 then Carence = 0
 

Cdt


  • Auteur
  • Nouveau
  • avr. 23, 2024 9:21 AM UTC

Merci, c’est simple et ça semble fonctionner. Je vais continuer de faire quelques vérifications malgré tout

 

Je n’ai pas réussi à faire fonctionner le cumul MNP + ATT

NbA = NombreAbsences(MaDateDebut,MaDateFin,"09+11")

Donc j’ai fait de cette façon, c’est moche mais ça fonctionne :

	Nb09 = NombreAbsences(MaDateDebut,MaDateFin,"09")
Nb11 = NombreAbsences(MaDateDebut,MaDateFin,"11")
NbA = Nb09+Nb11

 

 

La fonction entière : 

Begin

If Emp.Anciennete >= 4 then
Maintien = True
Carence = 0
// MNP/ATT : si 3ème arrêt sur l'année civile (carence = 3j)
MaDateDebut = Date(1,1,DateYear(Abs.DtDeb))
MaDateFin = DateAddDays(Abs.DtDeb, -1)

Nb09 = NombreAbsences(MaDateDebut,MaDateFin,"09")
Nb11 = NombreAbsences(MaDateDebut,MaDateFin,"11")
NbA = Nb09+Nb11
If NbA > 2 then Carence = 3

Select case AffectationDADS
Case "04","08":
// AT & MP
Carence = 0
EndSelect
Endif


If Maintien = True then
Nbjours1 = 30
If Emp.Anciennete >= 72 then Nbjours1 = 40
If Emp.Anciennete >= 132 then Nbjours1 = 50
If Emp.Anciennete >= 192 then Nbjours1 = 60
If Emp.Anciennete >= 252 then Nbjours1 = 70
If Emp.Anciennete >= 312 then Nbjours1 = 80
If Emp.Anciennete >= 372 then Nbjours1 = 90

Nbjours2 = Nbjours1
Pcent1 = 100
Pcent2 = 66.66

TypeMaintien = Net
Plage = Mois12

Else

EndIf

Include("FIN-M-MALADIE")

End