|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
COMMENT SAISIR LA DATE DE COMMENCEMENT DE WD_GANTT ? |
Iniciado por Franck MENABREA, out., 11 2025 12:35 PM - 3 respostas |
| |
| | | |
|
| |
Membro registado 130 mensagems |
|
Publicado em outubro, 11 2025 - 12:35 PM |
bonjour,
à partir du modèle de WD_gantt, j'aimerai pouvoir saisir la date du Jour 1 (avec un SAI_date) et à partir de cette date construire le diagramme de Gantt
comment fait-on ? (dommage que WD_GANTT n'offre pas cette possibilité... c'est sûrement très simple... Merci de votre aide.... Cordialement Franck M |
| |
| |
| | | |
|
| | |
| |
Membro registado 966 mensagems |
|
Publicado em outubro, 11 2025 - 4:33 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 130 mensagems |
|
Publicado em outubro, 11 2025 - 10:16 PM |
Cédric_34 a écrit :
Bonjour .... j'ai bien vu l'info : Afficher le Diagramme de Gantt à partir d'une date spécifique
Pour afficher le Diagramme de Gantt à partir d'une date et d'une heure spécifiques, utilisez la fonction GanttPositionDateHeure. GanttPositionDateHeure(COL_Gantt, DateSys())
et du coup dans les procédures wd_gantt je l'inscris où cette commande ?? je souhaite commencer le diagramme de gantt à date SAI_début (et toutes les autres tâches sont recalculées après) =======
PROCÉDURE AvantCréation(tgCréée est une TâcheGantt)
// Création en cours gbCréationFAA = Vrai
// Paramètres par défaut d'une tâche tgCréée.Avancement = 0 tgCréée.CouleurAvancement = COULEUR_AVANCEMENT tgCréée.CouleurFond = COULEUR_FOND tgCréée.ID = DonneIdentifiant() tgCréée.Titre = "Nouvelle tâche "+tgCréée.ID
// Ouvre la fenêtre d'édition SI Ouvre(FEN_Tâche, tgCréée) ALORS // Ajoute la nouvelle ligne soit nIndice = TableAjouteLigne(TABLE_Gantt, tgCréée.ID, tgCréée.Titre, tgCréée.DateDébut, tgCréée.DuréeEnJour, tgCréée.Avancement) // Positionne la tâche créée dans cette ligne tgCréée..Ligne = nIndice // Met à jour les informations de la tâche COL_Titre[tgCréée.Ligne] = tgCréée.Titre COL_DateDébut[tgCréée.Ligne] = tgCréée.DateDébut COL_Durée[tgCréée.Ligne] = tgCréée.DuréeEnJour COL_Avancement[tgCréée.Ligne] = tgCréée.Avancement // Si la tâche est cumulative SI tgCréée.Cumulative ALORS PasseTâcheEnCumulative(tgCréée.Ligne) // Si la tâche est un jalon SI tgCréée.Jalon ALORS PasseTâcheEnJalon(tgCréée.Ligne) // Si c'est une tâche simple SI tgCréée.Cumulative = Faux _ET_ tgCréée.Jalon = Faux ALORS PasseTâcheEnStandard(tgCréée.Ligne) // Réorganise les tâches si besoin SI COL_Gantt..RéorganisationAutomatique ALORS GanttOrganiseTâche(COL_Gantt) // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgCréée.Ligne) // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() SINON // Annule la création RENVOYER Faux FIN
RENVOYER Vrai PROCÉDURE EntréeEnSaisie(tgEditée est une TâcheGantt)
// Si une création était en cours, ne passe pas par l'édition SI gbCréationFAA ALORS // La création n'est plus en cours gbCréationFAA = Faux // Sélectionne la ligne TableSelectPlus(TABLE_Gantt, tgEditée.Ligne) // Annule l'édition RENVOYER Faux FIN
// Ouvre la fenêtre d'édition de la tâche EditeTâche(tgEditée)
RENVOYER Faux PROCÉDURE SortieDeSaisie(tgModifiée est une TâcheGantt)
PROCÉDURE Sélection(tgSélectionnée est une TâcheGantt)
// Mémorise la tâche comme tâche de référence gTâcheGanttReference = tgSélectionnée
PROCÉDURE Déplacement(tgDéplacée est une TâcheGantt)
// Si la tâche est cumulative SI tgDéplacée.Cumulative ALORS // Repositionne la tâche tgDéplacée.DateDébut = gTâcheGanttReference.DateDébut tgDéplacée.Ligne = gTâcheGanttReference.Ligne // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Si la ligne est différente SI tgDéplacée.Ligne <> gTâcheGanttReference.Ligne ALORS // Repositionne la tâche tgDéplacée.Ligne = gTâcheGanttReference.Ligne // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Attention"+RC+"Il n'est pas possible de déplacer une tâche sur une autre ligne", toastCourt, cvMilieu, chCentre, RougePastel) FIN // Modifie le début dans la table COL_DateDébut[tgDéplacée.Ligne] = tgDéplacée.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgDéplacée.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral()
FIN
PROCÉDURE Redimensionnement(tgRedimensionnée est une TâcheGantt)
// Si la tâche est cumulative SI tgRedimensionnée.Cumulative ALORS // Repositionne la tâche tgRedimensionnée.DateDébut = gTâcheGanttReference.DateDébut // Rétablit la durée de la tâche tgRedimensionnée.DuréeEnJour = gTâcheGanttReference.DuréeEnJour // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie la durée et le début dans la table COL_Durée[tgRedimensionnée.Ligne] = tgRedimensionnée.DuréeEnJour COL_DateDébut[tgRedimensionnée.Ligne] = tgRedimensionnée.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgRedimensionnée.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral()
FIN PROCÉDURE Suppression(tgSupprimée est une TâcheGantt)
RENVOYER SupprimeTâche(tgSupprimée)
PROCÉDURE AprèsLiaisonTâchePréalable (lgLien est un LienGantt)
cTâcheSource est une TâcheGantt cTâcheDestination est une TâcheGantt
// Récupère les tâches impliquées dans la liaison cTâcheSource <- GanttRécupèreTâche(COL_Gantt, lgLien.IDSource) cTâcheDestination <- GanttRécupèreTâche(COL_Gantt, lgLien.IDDestination)
// Si une des tâches est cumulative SI cTâcheDestination.Cumulative _OU_ cTâcheSource.Cumulative ALORS // Supprime la liaison GanttSupprimeLien(COL_Gantt, lgLien.IDSource, lgLien.IDDestination) // Repositionne la tâche destination (qui a pu être modifiée) cTâcheDestination.DateDébut = gTâcheGanttReference.DateDébut // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives ne peuvent être liées", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie la date de début dans la table COL_DateDébut[cTâcheDestination.Ligne] = cTâcheDestination.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(cTâcheDestination.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() FIN
PROCÉDURE ModificationAvancement(tgTâcheModifiée est une TâcheGantt)
// Si la tâche est cumulative SI tgTâcheModifiée.Cumulative ALORS // Rétablit l'avancement de la tâche tgTâcheModifiée.Avancement = gTâcheGanttReference.Avancement // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie l'avancement dans la table COL_Avancement[tgTâcheModifiée.Ligne] = tgTâcheModifiée.Avancement // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgTâcheModifiée.Ligne) // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() FIN
Cordialement Franck M |
| |
| |
| | | |
|
| | |
| |
Membro registado 130 mensagems |
|
Publicado em outubro, 11 2025 - 10:16 PM |
Cédric_34 a écrit :
Bonjour .... j'ai bien vu l'info : Afficher le Diagramme de Gantt à partir d'une date spécifique
Pour afficher le Diagramme de Gantt à partir d'une date et d'une heure spécifiques, utilisez la fonction GanttPositionDateHeure. GanttPositionDateHeure(COL_Gantt, DateSys())
et du coup dans les procédures wd_gantt je l'inscris où cette commande ?? je souhaite commencer le diagramme de gantt à date SAI_début (et toutes les autres tâches sont recalculées après) =======
PROCÉDURE AvantCréation(tgCréée est une TâcheGantt)
// Création en cours gbCréationFAA = Vrai
// Paramètres par défaut d'une tâche tgCréée.Avancement = 0 tgCréée.CouleurAvancement = COULEUR_AVANCEMENT tgCréée.CouleurFond = COULEUR_FOND tgCréée.ID = DonneIdentifiant() tgCréée.Titre = "Nouvelle tâche "+tgCréée.ID
// Ouvre la fenêtre d'édition SI Ouvre(FEN_Tâche, tgCréée) ALORS // Ajoute la nouvelle ligne soit nIndice = TableAjouteLigne(TABLE_Gantt, tgCréée.ID, tgCréée.Titre, tgCréée.DateDébut, tgCréée.DuréeEnJour, tgCréée.Avancement) // Positionne la tâche créée dans cette ligne tgCréée..Ligne = nIndice // Met à jour les informations de la tâche COL_Titre[tgCréée.Ligne] = tgCréée.Titre COL_DateDébut[tgCréée.Ligne] = tgCréée.DateDébut COL_Durée[tgCréée.Ligne] = tgCréée.DuréeEnJour COL_Avancement[tgCréée.Ligne] = tgCréée.Avancement // Si la tâche est cumulative SI tgCréée.Cumulative ALORS PasseTâcheEnCumulative(tgCréée.Ligne) // Si la tâche est un jalon SI tgCréée.Jalon ALORS PasseTâcheEnJalon(tgCréée.Ligne) // Si c'est une tâche simple SI tgCréée.Cumulative = Faux _ET_ tgCréée.Jalon = Faux ALORS PasseTâcheEnStandard(tgCréée.Ligne) // Réorganise les tâches si besoin SI COL_Gantt..RéorganisationAutomatique ALORS GanttOrganiseTâche(COL_Gantt) // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgCréée.Ligne) // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() SINON // Annule la création RENVOYER Faux FIN
RENVOYER Vrai PROCÉDURE EntréeEnSaisie(tgEditée est une TâcheGantt)
// Si une création était en cours, ne passe pas par l'édition SI gbCréationFAA ALORS // La création n'est plus en cours gbCréationFAA = Faux // Sélectionne la ligne TableSelectPlus(TABLE_Gantt, tgEditée.Ligne) // Annule l'édition RENVOYER Faux FIN
// Ouvre la fenêtre d'édition de la tâche EditeTâche(tgEditée)
RENVOYER Faux PROCÉDURE SortieDeSaisie(tgModifiée est une TâcheGantt)
PROCÉDURE Sélection(tgSélectionnée est une TâcheGantt)
// Mémorise la tâche comme tâche de référence gTâcheGanttReference = tgSélectionnée
PROCÉDURE Déplacement(tgDéplacée est une TâcheGantt)
// Si la tâche est cumulative SI tgDéplacée.Cumulative ALORS // Repositionne la tâche tgDéplacée.DateDébut = gTâcheGanttReference.DateDébut tgDéplacée.Ligne = gTâcheGanttReference.Ligne // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Si la ligne est différente SI tgDéplacée.Ligne <> gTâcheGanttReference.Ligne ALORS // Repositionne la tâche tgDéplacée.Ligne = gTâcheGanttReference.Ligne // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Attention"+RC+"Il n'est pas possible de déplacer une tâche sur une autre ligne", toastCourt, cvMilieu, chCentre, RougePastel) FIN // Modifie le début dans la table COL_DateDébut[tgDéplacée.Ligne] = tgDéplacée.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgDéplacée.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral()
FIN
PROCÉDURE Redimensionnement(tgRedimensionnée est une TâcheGantt)
// Si la tâche est cumulative SI tgRedimensionnée.Cumulative ALORS // Repositionne la tâche tgRedimensionnée.DateDébut = gTâcheGanttReference.DateDébut // Rétablit la durée de la tâche tgRedimensionnée.DuréeEnJour = gTâcheGanttReference.DuréeEnJour // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie la durée et le début dans la table COL_Durée[tgRedimensionnée.Ligne] = tgRedimensionnée.DuréeEnJour COL_DateDébut[tgRedimensionnée.Ligne] = tgRedimensionnée.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgRedimensionnée.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral()
FIN PROCÉDURE Suppression(tgSupprimée est une TâcheGantt)
RENVOYER SupprimeTâche(tgSupprimée)
PROCÉDURE AprèsLiaisonTâchePréalable (lgLien est un LienGantt)
cTâcheSource est une TâcheGantt cTâcheDestination est une TâcheGantt
// Récupère les tâches impliquées dans la liaison cTâcheSource <- GanttRécupèreTâche(COL_Gantt, lgLien.IDSource) cTâcheDestination <- GanttRécupèreTâche(COL_Gantt, lgLien.IDDestination)
// Si une des tâches est cumulative SI cTâcheDestination.Cumulative _OU_ cTâcheSource.Cumulative ALORS // Supprime la liaison GanttSupprimeLien(COL_Gantt, lgLien.IDSource, lgLien.IDDestination) // Repositionne la tâche destination (qui a pu être modifiée) cTâcheDestination.DateDébut = gTâcheGanttReference.DateDébut // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives ne peuvent être liées", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie la date de début dans la table COL_DateDébut[cTâcheDestination.Ligne] = cTâcheDestination.DateDébut // Lance le calcul des tâches cumulatives parents CalculTâchesParents(cTâcheDestination.Ligne) // Met à jour toutes les tâches si nécessaire MetAJourTâchesSuiteRéorganisationAuto() // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() FIN
PROCÉDURE ModificationAvancement(tgTâcheModifiée est une TâcheGantt)
// Si la tâche est cumulative SI tgTâcheModifiée.Cumulative ALORS // Rétablit l'avancement de la tâche tgTâcheModifiée.Avancement = gTâcheGanttReference.Avancement // Message pour avertir l'utilisateur sans le bloquer ToastAffiche("Action impossible"+RC+"Les tâches cumulatives sont calculées automatiquement : vous ne pouvez pas les modifier", toastCourt, cvMilieu, chCentre, RougePastel) SINON // Modifie l'avancement dans la table COL_Avancement[tgTâcheModifiée.Ligne] = tgTâcheModifiée.Avancement // Lance le calcul des tâches cumulatives parents CalculTâchesParents(tgTâcheModifiée.Ligne) // Met à jour les informations du diagramme de Gantt AfficheInfosGénéral() FIN
Cordialement Franck M |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|