|
|
|
|
- Présentation
- Manipuler le champ Diagramme de Gantt par programmation
- Ajouter une tâche
- Ajouter un lien
- Organiser les tâches
- Remplir une colonne de type Diagramme de Gantt avec les données présentes dans un fichier de données HFSQL
- Récupérer une liste de tâches
- Afficher le Diagramme de Gantt à partir d'une date spécifique
- Supprimer une tâche
- Supprimer un lien
- Utilisation du menu contextuel (FAA)
- Utilisation avancée des événements associés à une colonne de type Diagramme de Gantt
- Utilisation avancée des événements avec procédure
- Gestion des jours fériés, des congés et des heures ouvrables
- Gestion des jours fériés
- Gestion des congés
- Gestion des heures ouvrables
- Propriétés spécifiques aux colonnes de type Diagramme de Gantt
Manipuler un champ Diagramme de Gantt par programmation
Pour manipuler un champ Diagramme de Gantt par programmation, WINDEV propose : Cette page d'aide détaille comment manipuler un champ Diagramme de Gantt par programmation : Manipuler le champ Diagramme de Gantt par programmation Pour ajouter une tâche dans une colonne de type Diagramme de Gantt : - Définissez et remplissez une variable de type TâcheGantt.
- Ajoutez la tâche grâce à la fonction GanttAjouteTâche.
Exemple : NouvelleTâche est une TâcheGantt  // Paramètre la tâche NouvelleTâche.ID = DonneIdentifiant() NouvelleTâche.Ligne = 1 NouvelleTâche.Avancement = 50 NouvelleTâche.DateDébut = DateDuJour() NouvelleTâche.DuréeEnJour = 1 NouvelleTâche.Titre = "Nouvelle tâche"  // Ajoute la tâche GanttAjouteTâche(COL_Gantt, NouvelleTâche) Conseil : Si les tâches sont mémorisées dans un fichier de données, nommez les rubriques avec les mêmes noms que les membres de la variable TâcheGantt. Vous pourrez alors utiliser la fonction FichierVersMémoire pour remplir la variable en une seule ligne de code : // Remplit la variable à partir des rubriques du fichier de données FichierVersMémoire(NouvelleTâche, TâchePourGantt) L'ajout d'un lien entre deux tâches dans une colonne de type Diagramme de Gantt est réalisé grâce à la fonction GanttAjouteLien. Cette fonction accepte deux syntaxes : - syntaxe permettant de lier 2 tâches identifiées par leur identifiant :
t1 est une TâcheGantt t1.ID = "T1" t2 est une TâcheGantt t2.ID = "T2" GanttAjouteLien(COL_Gantt, t1, t2) - syntaxe manipulant une variable de type LienGantt.
// Création d'un lien via une variable de type LienGantt Lien est un LienGantt Lien.IDSource = "T1" Lien.IDDestination = "T2" GanttAjouteLien(COL_Gantt, Lien)
Remarque : Par défaut, le lien créé est de type "Fin à début". Le type de lien créé peut être configuré dans la variable de type LienGantt ou dans la fonction GanttAjouteLien. Les liens disponibles sont : - Lien de type "Début à Début" : La tâche destination ne peut pas commencer avant que la tâche source ne soit commencée.
- Lien de type "Début à Fin" : La tâche destination ne peut pas se terminer avant que la tâche source ne soit commencée (cas rare).
- Lien de type "Fin à Début" (cas par défaut) : La tâche destination ne peut pas commencer avant que la tâche source ne soit terminée.
- Lien de type "Fin à Fin" : La tâche destination ne peut pas se terminer avant que la tâche source ne soit terminée.
Par défaut, les colonnes de type Diagramme de Gantt sont paramétrées pour réorganiser automatiquement les tâches en fonction de leurs liens : si l'utilisateur déplace une tâche dans le temps, toutes les tâches qui en dépendent seront automatiquement déplacées. Pour désactiver ce paramètre et organiser librement les tâches : - Affichez la fenêtre de description du champ.
- Dans l'onglet "Détail", décochez l'option "Réorganiser les autres tâches après modification par l'utilisateur".
- Utilisez la fonction GanttOrganiseTâche pour forcer une réorganisation ponctuelle des tâches.
Remplir une colonne de type Diagramme de Gantt avec les données présentes dans un fichier de données HFSQL Les enregistrements sont stockés dans un fichier de données HFSQL. Le remplissage initial du champ Diagramme de Gantt peut être réalisé par un parcours du fichier de données via la syntaxe POUR TOUT et par l'ajout de chaque tâche via la fonction GanttAjouteTâche. // Variable de type TâcheGantt MaTâche est une TâcheGantt  // Parcours des tâches mémorisées en base POUR TOUT Tâche // Remplit les informations de la variable MaTâche.ID = Tâche.Identifiant MaTâche.Avancement = Tâche.Avancement MaTâche.DateDébut = Tâche.Date MaTâche.DuréeEnJour = Tâche.DuréeTâche MaTâche.Titre = Tâche.Titre // Ajoute la tâche GanttAjouteTâche(COL_Gantt, MaTâche) FIN Récupérer une liste de tâches La fonction GanttListeTâche permet de récupérer : - la liste de toutes les tâches de la colonne de type Diagramme de Gantt :
// Liste toutes les tâches tabListe est un tableau de TâcheGantt  // Récupère la liste des tâches tabListe = GanttListeTâche(COL_Gantt)  InfoConstruit("Les tâches ont bien été récupérées : le tableau contient %1 tâche(s).", ... tabListe.Occurrence) - la liste des tâches comprises entre deux dates :
// Liste les tâches à partir de la date du jour tabListe est un tableau de TâcheGantt  // Récupère la liste des tâches tabListe = GanttListeTâche(COL_Gantt, DateSys()) - la tâche actuellement sélectionnée ou survolée :
// Récupère la tâche sélectionnée tabListe est un tableau de TâcheGantt  // Récupère la liste des tâches tabListe = GanttListeTâche(COL_Gantt, ganttTâcheSélectionnée)  InfoConstruit("La tâche récupérée : %1.", tabListe[1].Titre)
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()) Supprimer une tâche La fonction GanttSupprimeTâche permet de supprimer une tâche. Par exemple :
// Bouton "Supprime" SI OuiNon("Voulez-vous supprimer cette tâche ?") ALORS GanttSupprimeTâche(COL_Gantt1) FIN Supprimer un lien La fonction GanttSupprimeLien permet de supprimer un lien. Par exemple :
// Supprime les liens de la tâche T2 GanttSupprimeLien(COL_Gantt, "T2") La fonction GanttSupprimeTout permet de supprimer toutes les tâches et les liens d'une colonne de type Diagramme de Gantt. Utilisation du menu contextuel (FAA) Le champ Colonne de type Diagramme de Gantt est associé par défaut à un menu contextuel (FAA). Via le menu contextuel, il est possible de : - Ajouter, supprimer ou modifier une tâche.
- Lier la tâche sélectionnée à une tâche préalable.
- Supprimer tous les préalables d'une tâche.
- Imprimer le contenu du Diagramme de Gantt. Cette option est disponible uniquement si un état de type "Diagramme de Gantt" a été créé.
Pour sauvegarder les opérations réalisées, il est nécessaire d'utiliser les événements de la colonne. Dans l'événement concerné, il suffit de récupérer la tâche ou le lien en cours d'utilisation et de faire le traitement correspondant. Exemple : Pour mémoriser une tâche que l'utilisateur ajoute via le menu contextuel dans un fichier de données "Tâche", il suffit de saisir dans l'événement "Entrée en saisie d'une tâche" : PROCÉDURE EntréeEnSaisie(tgEditée est une TâcheGantt)  // Mémorisation des données Tache.Titre = tgEditée.Titre Tache.DateDébut = tgEditée.DateDébut Tache.DateFin = tgEditée.DateFin ... HAjoute(Tache) Le même type de code peut être mis en place pour les différents événements de la colonne de type Diagramme de Gantt. En effet, pour chaque événement du champ qui manipule une tâche ou un lien, une procédure a été déclarée automatiquement par le champ Colonne. Ces procédures reçoivent en paramètre une variable de type TâcheGantt ou LienGantt concernée par l'événement. Utilisation avancée des événements associés à une colonne de type Diagramme de Gantt Utilisation avancée des événements avec procédure Il est également possible de proposer à l'utilisateur de définir plus précisément les caractéristiques de sa tâche lors d'un ajout ou d'une modification. Il suffit pour cela de créer une fenêtre avec les informations à remplir. Dans le code, il suffit d'ouvrir la fenêtre par exemple dans l'événement "Entrée en saisie d'une tâche". Pour bloquer la saisie directe par le menu contextuel de la colonne, l'événement doit alors renvoyer Faux. Ce principe peut être appliqué à tous les événements appelés par le menu contextuel de la colonne. Exemple : PROCÉDURE EntréeEnSaisie(tgEditée est une TâcheGantt)  // Ouvre la fenêtre de saisie d'une tâche // avec la tâche sélectionné (en mode Création ou Modification) Ouvre(FEN_SaisieTâche, tgEditée)  // Renvoie FAUX pour bloquer la saisie directe dans la colonne RENVOYER Faux Gestion des jours fériés, des congés et des heures ouvrables Gestion des jours fériés La gestion des jours fériés est réalisée par programmation. Le WLangage met à votre disposition plusieurs fonctions débutant par JourFériéXXX. Pour définir les jours fériés affichés dans les champs Agenda, Planning, Calendrier et colonne de type Diagramme de Gantt, il faut utiliser la fonction JourFériéAjoute. Cette fonction permet de définir la liste des jours fériés à utiliser. Cette fonction permet de personnaliser les jours fériés en fonction du pays et de la réglementation locale. Cette fonction doit être utilisée au début de l'application car elle a un effet global sur l'application. Les jours fériés seront colorés en vert dans le Diagramme de Gantt. Exemple :
JourFériéSupprimeTout()
JourFériéAjoute("0101")
JourFériéAjoute(jfLundiDePâques)
JourFériéAjoute("0501")
JourFériéAjoute("0508")
JourFériéAjoute(jfJeudiDeLAscension)
JourFériéAjoute(jfLundiDePentecôte)
JourFériéAjoute("0714")
JourFériéAjoute("0815")
JourFériéAjoute("1101")
JourFériéAjoute("1111")
JourFériéAjoute("1225")
JourFériéAjoute("1226" + RC + jfVendrediSaint)
Gestion des congés Pour gérer les congés dans un diagramme de Gantt pour une ligne donnée, il suffit d'utiliser la fonction GanttAjouteCongé. Dans ce cas : - La nouvelle période de congés est considéré comme non ouvrable pour la ligne.
- La durée des tâches est ajustée selon la période de congés spécifiée.
Exemple :
// Congés pour la ligne 4 GanttAjouteCongé(COL_Gantt, 4, "20140204", "20140204") Gestion des heures ouvrables Par défaut, les heures ouvrables sont définies lors de la description du champ Diagramme de Gantt sous l'éditeur de fenêtres. Il est possible de modifier ces heures ouvrables pour l'intégralité du champ grâce aux propriétés HeureOuvrableDébut et HeureOuvrableFin. La fonction GanttHeureOuvrable permet de personnaliser les heures ouvrables pour une ligne donnée. Exemple :
// Pour la ligne 2, les heures ouvrables vont de 9h30 à 12h puis de 13h à 18h30 GanttHeureOuvrable(COL_Gantt, 2, "0930", "1200", "1300", "1830") // Pour la ligne 3, les heures ouvrables vont de 10h00 à 17h00 GanttHeureOuvrable(COL_Gantt, 3, "1000", "1700") Remarques : - Cette fonction affecte le dessin du diagramme de Gantt si les heures sont affichées dans le diagramme de Gantt.
- Cette fonction affecte le calcul de la durée des tâches si celles-ci sont spécifiées en heures.
Propriétés spécifiques aux colonnes de type Diagramme de Gantt Les propriétés suivantes sont spécifiques à la gestion d'un Diagramme de Gantt par programmation.
| | AfficheLien | La propriété AfficheLien permet de connaître ou de modifier le mode d'affichage des liens dans une colonne de type Diagramme de Gantt. | DéplacementTâche | La propriété DéplacementTâche permet de connaître et de modifier le mode de déplacement des tâches par l'utilisateur dans une colonne de type Diagramme de Gantt. | RéorganisationAutomatique | La propriété RéorganisationAutomatique permet de connaître et de modifier le mode de réorganisation automatique des tâches dans une colonne de type "Diagramme de Gantt". |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|