MVARTauxHoraire

Documentation – MVARTauxHoraire

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é.