Aide code Windev pour acquisition congés payés

siuol - Modifié le 23 avril 2024 à 08:13
 siuol - 23 avril 2024 à 23:27

Bonjour,

Je débute dans Windev et j'essaie d'écrire une "règle" qui automatiserait l'acquisition de CP, sauf que j'ai trois entités différentes (du même Groupe) avec un nombre de jours mensuels de CP acquis différents, selon des cas spécifiques.

J'ai écrit une règle Windev mais je pense que la syntaxe n'est pas bonne.

Sachant que ::ArgReg_N(1)=2.0833 ; ::ArgReg_N(2)=2,5 et ::ArgReg_N(1)=3 (ceux sont les CP acquis/mois pour 3 différentes sociétés du même Groupe/3 cas particuliers).

Mais ma règle ne foncitonne pas, dans tous les cas, cela me génère 2,0833 de CP/mois, mes conditions ne sont pas prises en compte. Je suis quasi sûr que ma syntaxe n'est pas bonne !!!

Merci d'avance pour votre aide; si vous pouviez m'aider à la corriger !

Voici ma règle:

iNbJourOuvrMois, iNbJourOuvreDuSalarie est un entier
//Stockage nbre jours ouvrés du mois
iNbJourOuvrMois=::NombreJoursEntre2Dates(::InfoDate(4),::InfoDate(5),1,"1")
//Calcul acquisition mensuelle fin de mois ou date sortie (::Date() filtrée dans la condition générique de la règle)
//Formule=Acq. mens.*[nbre jrs ouvrés contrat sur mois/(nbre jrs ouvrés mois-absences ouvrées)/nbre jrs ouvrés mois]
//L'acquisition de base mensuelle est renseignée dans ::ArgReg_N([1]
iNbJourOuvreDuSalarie = ::NombreJoursEntre2Dates(Max(::InfoDate(4),::DateEntrée()),::Date(),1,"1")
//Deduction des jours d'absences de la période
iNbJourOuvreDuSalarie -= ::Compteur("ABS_N_CP","C")
//Permet la prise en compte un prorata de date entrée/date sortie sur mois et abences sur mois, tout en base jrs ouvrés

SI iNbJourOuvrMois>0 ET ::InfoContrat (18)=102 OU ::InfoContrat (18)=103 ou ::InfoSalarie(20)="SOP"... ALORS 
    ou ::InfoSalarie(20)="SOD"
    ::VarExec=::ArgReg_N(1) * (iNbJourOuvreDuSalarie / iNbJourOuvrMois)
    RENVOYER(::VarExec>0)
FIN

SI iNbJourOuvrMois > 0 et ::InfoSalarie(20)="AIR" ou ::InfoSalarie(20)="AIW" ALORS 
    ::VarExec=::ArgReg_N(2)*(iNbJourOuvreDuSalarie/iNbJourOuvrMois)
    RENVOYER(::VarExec>0)
FIN

SI iNbJourOuvrMois > 0 et ::InfoContrat (18)=102 ou ::InfoContrat (18)=103 ALORS 
    ::VarExec=::ArgReg_N(3)*(iNbJourOuvreDuSalarie/iNbJourOuvrMois)
FIN
RENVOYER(::VarExec>0)


Windows / Chrome 124.0.0.0

A voir également:

2 réponses

mariam-j Messages postés 1347 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 19 novembre 2024 11
23 avril 2024 à 10:21

Bonjour,

Comme ta question a deux heures sans réponses, je te signale que là--->:  https://forums.futura-sciences.com/programmation-langages-algorithmique/

Il y a des gens qui codent en Windev (ce que je conseillerai à personne, of course).

0

Bonjour,

Merci !! Désolé d'avoir posté au mauvais endroit alors... Merci de m'avoir orienté sur le bon fil ! Bonne journée !

0