Re: Cumul des heures pour calculer Date fin | Sujet: Re: Cumul des heures pour calculer Date fin par drcharly93 sur 7/8/2007 15:47:23
Bonjour et bienvenu sur notre site,
Sans chercher la bonne solution commencer par simplifier votre code en utilisant l'indirection ainsi que des tableaux dynamiques
wHeureDernièreEquipe est une Heure
tblwHDE est un tableau dynamique de 0 heures
tblwHFE est un tableau dynamique de 0 heures
wEquipeDébutante est une chaîne = "" //Quelle équipe va débuter la fabrication ? Ceci est connu en fonction de l'heure saisie par l'utilisateur
wEstInterne est un booléen //Pour voir si l'heure saisie par l'User est à l'intérieur des intervalles d'heures des équipes
wNbEquipe est un entier = 0 //On a combien d'équipe pour cette Machine ?
nNbEquipe est un entier = 3 //Nombre total d'équipe dispo.
Ind est un entier
Dimension(tblwHDE, nNbEquipe)
Dimension(tblwHFE, nNbEquipe)
//Détermination du nombre d'équipe et de l'équipe débutante
CléParcours = HFiltreIdentique(MACHINE,PK_MACHINE,g_Societe_defaut,g_ent_defaut,P_CodMach)
HLitPremier(MACHINE,CléParcours)
SI HTrouve() ALORS
POUR Ind = 1 A nNbEquipe
SI {"MACHINE.HEUREDEB" + Ind, indRubrique} <> "" ALORS
wEstInterne = VerifBorneHeureOK({"MACHINE.HEURDEB" + ind, indRubrique},{"MACHINE.HEURFIN" + ind, indRubrique}, P_HeureDeb)
SI wEstInterne = Vrai ALORS
wEquipeDébutante = "E" + Ind
FIN
hHeure est une Heure
hHeure..Heure = {"MACHINE.HEURDEB" + Ind, indRubrique}[[ A 2 ]]
hHeure..Minute = ({"MACHINE.HEURDEB" + Ind, indRubrique}[[ 3 A 4 ]]
hHeure..Heure = {"MACHINE.HEURFIN" + Ind, indRubrique}[[ A 2 ]]
hHeure..Minute = {"MACHINE.HEURFIN" + Ind, indRubrique}[[ 3 a 4 ]]
tblwHFE[Ind] = hHeure
wHeureDernièreEquipe = hHeure
wNbEquipe++
FIN
FIN
FIN
HDésactiveFiltre(MACHINE)
wRenvoyer = DébuterPar(wEquipeDébutante,wNbEquipe,NbreMinutes,P_DateDeb,P_HeureDeb,...
tblwHDE, tblwHFE,wHeureDernièreEquipe)
RENVOYER(wRenvoyer)
Au lieu de renvoyer les variables par équipe, utiliser plutôt des tableaux cela bridera moins votre code si le nombre d'équipe vient à augmenter. De plus l'indirection vous permettra de réduire considérablement votre code et de le rendre ainsi plus lisible et plus facile à maintenir. Notes: vous pouvez aussi utiliser la classe jourFérié fourni dans des exemples de WinDev pour tenir compte des jours fériés.
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|