Message de rapport:
 

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
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2