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
Ce sujet vous a-t-il aidé à trouver une réponse à votre question?

6 commentaires

Yenaa
Formateur certifié
Forum|alt.badge.img+2
  • Formateur certifié
  • 929 commentaires
  • 20 avril 2024

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+1

bonjour

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


Yenaa
Formateur certifié
Forum|alt.badge.img+2
  • Formateur certifié
  • 929 commentaires
  • 21 avril 2024
Yenaa a écrit:

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
  • 2 commentaires
  • 23 avril 2024

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+1

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
  • 2 commentaires
  • 23 avril 2024

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

 


Commenter


Gestion des cookies

Nous utilisons des cookies pour améliorer et personnaliser votre expérience. Si vous acceptez ou continuez de naviguer, vous acceptez règles relatives aux cookies. En savoir plus sur nos cookies

 
Paramètres de cookies