La classe MVARTauxHoraire
représente une variable métier utilisée pour gérer le coût et le tarif horaire d’un service ou d’une ressource humaine selon le jour (ouvrable, samedi, dimanche, jour férié) et selon si l’intervention a lieu de nuit.
🧠 Définition des termes
- Taux horaire : terme générique désignant la valeur associée à une heure d’activité.
- Coût horaire : ce que l’entreprise supporte comme charge pour une heure de travail (prix de revient).
- Tarif horaire : ce qui est facturé au client pour une heure (prix de vente).
🏗️ Structure de la classe
MVARTauxHoraire est une Classe
hérite de AVariable
PUBLIC
m_nRefTauxHoraire est un entier
m_dDate est une Date
m_bNuit est un booléen = Faux
PRIVÉ
m_iTaux est un ITauxHoraire
m_rCoutJourOuvrable est un réel
m_rTarifJourOuvrable est un réel
m_nTypeDeJour est un entier
m_rMultiplicateurTypeDeJour est un réel = 1
m_rMultiplicateurNuit est un réel = 1
⚙️ Méthodes principales
Constructeur()
: initialise la date à la date système.Calculer()
: calcule le type de jour, le coût et le tarif jour ouvrable, ainsi que les multiplicateurs jour/nuit.p_rCoutHoraireAvecMultiplicateur()
: renvoie le coût horaire ajusté.p_rTarifHoraireAvecMultiplicateur()
: renvoie le tarif horaire ajusté.p_sNomComplet()
: texte récapitulatif avec coût et tarif horaire.p_sMultiplicateur()
: description textuelle des multiplicateurs appliqués.
📊 Logique des multiplicateurs
Le champ m_nTypeDeJour
est une valeur en codage binaire permettant de combiner plusieurs types de jours (par exemple : SAMEDI + JOUR_FERIE
).
Les multiplicateurs sont appliqués ainsi :
- Samedi : x1.5
- Dimanche ou Jour férié : x2
- Nuit : x1.1 (si m_bNuit est vrai)
🧪 Exemple de code : Création d’une nouvelle variable
PROCÉDURE GLOBALE gNouvelleVariable(nRefTauxHoraire est un entier, dDate est une Date = DateSys()) : MVARTauxHoraire
pclNouvelleVariable est un MVARTauxHoraire dynamique
pclNouvelleVariable = new MVARTauxHoraire
pclNouvelleVariable.m_nRefTauxHoraire = nRefTauxHoraire
pclNouvelleVariable.m_dDate = dDate
RENVOYER pclNouvelleVariable
📌 Remarques
- La classe repose sur
SameDiFer.GetJour()
pour identifier les types de jours. - Les multiplicateurs permettent d’adapter dynamiquement les coûts selon la date et l’heure.
- La méthode
p_sTypeDeJour()
retourne une chaîne lisible correspondant au type de jour détecté.