Skip to main content

Calcul du nombre de jours ouvrés d'absence


Bonjour,

Je dois proratisé l’acquisition des RTT en fonction des absences sauf codes absence 95, 12, 15, 90,91,92,93 et 97.

Voici ce que j’ai écris :

    CumNbJAbs = 0 
    CumNbJAbs = NbJCalendairesAbsences(Bul.Periode, Bul.Date, "09+15+19+45+44+24+08+26+04+11+20+10+64+05+06+01+13+14+52+33+32+63+65+07+03+02+22+23+27+94+38+96+98+72+70+71+79+96+54+16+88+69+17+98+99+21+62+88+86+87+80+81+25+31+79+39")    
    //Sauf 95-Evénement familial, 12-congés payés, 15-férié chomé, 90-RTT, 91-92-93-Repos compensateur, 97-Représentation des salariés

    If CumNbJAbs >= 2 And CumNbJAbs < 10 Then Call AjouteRTTAcquis ( -0.5 )
    If CumNbJAbs >= 10 Then Call AjouteRTTAcquis ( -1 )

    // --- Si le salarié est entré ce mois ----

    // Entré ce mois : 0.5 JRTT jusqu'au 14 du mois
    // Aucun RTT si entré à partir du 15

    If Bul.EntreCeMois = True Then
        MonJour = DateDay(Sal.DateEntree) 
        MonMois = DateMonth(Sal.DateEntree) 
 
        If MonJour > 14 Then 
            Call AjouteRTTAcquis ( - Bul.RTTJOURSACQUIS + 12 - Bul.Mois )
        Else
            Call AjouteRTTAcquis ( - Bul.RTTJOURSACQUIS + 12 - Bul.Mois +0.5 )
        EndIf
    EndIf
 

Cela fonctionne bien si ce n’est que je souhaite n’enlevé que les jours ouvrés notamment en ce qui concerne les arrêts de travail qui sont actuellement enlevés en calendaire.

Comment puis-je faire ?

Merci pour votre aide

7 commentaires

Yenaa
Formateur certifié
Forum|alt.badge.img+2
  • Formateur certifié
  • 963 commentaires
  • 13 avril 2025

Bonjour,

Avez-vous essayé avec: 

ChatGPT - Silae- Mentor Codage (Scriptae)


  • Auteur
  • Nouveau
  • 3 commentaires
  • 14 avril 2025

Bonjour,

C’est parfait, j’ai trouvé ce que je cherchais.

Merci pour le tuyau.

Bonne journée.


  • Auteur
  • Nouveau
  • 3 commentaires
  • 14 avril 2025

Après tests, ce que ChatGPT me propose ne fonctionne pas. 

Il invente des fonctions qui visiblement n’existe pas.

Il me propose NBJABSENCES ou encore NBJOURSOUVRESABSENCES qui génèrent des messages d’erreurs “Erreur de compilation du profil de primes NONNATURAL ligne 38 : ECHEC_FUNCTIONINCONNUE”

Donc ma question reste entière :

Je dois proratisé l’acquisition des RTT en fonction des absences sauf codes absence 95, 12, 15, 90,91,92,93 et 97.

Voici ce que j’ai écris :

    CumNbJAbs = 0 
    CumNbJAbs = NbJCalendairesAbsences(Bul.Periode, Bul.Date, "09+15+19+45+44+24+08+26+04+11+20+10+64+05+06+01+13+14+52+33+32+63+65+07+03+02+22+23+27+94+38+96+98+72+70+71+79+96+54+16+88+69+17+98+99+21+62+88+86+87+80+81+25+31+79+39")    
    //Sauf 95-Evénement familial, 12-congés payés, 15-férié chomé, 90-RTT, 91-92-93-Repos compensateur, 97-Représentation des salariés

    If CumNbJAbs >= 2 And CumNbJAbs < 10 Then Call AjouteRTTAcquis ( -0.5 )
    If CumNbJAbs >= 10 Then Call AjouteRTTAcquis ( -1 )

    // --- Si le salarié est entré ce mois ----

    // Entré ce mois : 0.5 JRTT jusqu'au 14 du mois
    // Aucun RTT si entré à partir du 15

    If Bul.EntreCeMois = True Then
        MonJour = DateDay(Sal.DateEntree) 
        MonMois = DateMonth(Sal.DateEntree) 
 
        If MonJour > 14 Then 
            Call AjouteRTTAcquis ( - Bul.RTTJOURSACQUIS + 12 - Bul.Mois )
        Else
            Call AjouteRTTAcquis ( - Bul.RTTJOURSACQUIS + 12 - Bul.Mois +0.5 )
        EndIf
    EndIf
 

Cela fonctionne bien si ce n’est que je souhaite n’enlevé que les jours ouvrés notamment en ce qui concerne les arrêts de travail qui sont actuellement enlevés en calendaire.

Comment puis-je faire ?

 


Forum|alt.badge.img+2
  • Ambassadeur
  • 427 commentaires
  • 20 mai 2025

Bonjour,

Je me heurte au même problème.

Avez vous trouvé une solution?

 

@Anthony Petit 

existe-t-il une fonction équivalente à NbJCalendairesAbsences(DtDeb, DtFin, "09+11") pour les jours ouvrés.

j’ai bien pensé au stockvar mais ma période n’est pas sur des mois complets.

 

merci d’avance de votre aide

 

Bonne journée


  • Auteur
  • Nouveau
  • 3 commentaires
  • 21 mai 2025

Bonjour,

 

Je n’ai malheureusement pas de réponse à mon ticket.

Bonne journée


Anthony Petit
Community Manager
Forum|alt.badge.img+2
  • Community Manager
  • 5401 commentaires
  • 21 mai 2025

Bonjour Hervé

Apres rechzerche d'informations, vous pouvez partir sur les cumuls de stockvar en définissant les dates à prendre en compte en amont et en utisant ça : CumulStockVarAbs(DTDEB,DTFIN,"CALABSJO_09")+CumulStockVarAbs(DTDEB,DTFIN,"CALABSJO_11")

En espérant que cela pourra vous aider 


Forum|alt.badge.img+2
  • Ambassadeur
  • 427 commentaires
  • 21 mai 2025

Bonjour Anthony

 

Merci beaucoup!

Très bonne journée à vous


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