Présentation Manipuler le champ Planning par programmation Ajouter une ressource Ajouter un rendez-vous Remplir un champ Planning avec les données présentes dans un fichier de données HFSQL Récupérer une liste de rendez-vous Afficher le planning à partir d'une ressource spécifique ou d'une date spécifique Supprimer un rendez-vous Supprimer une ressource Modifier l'affichage du champ Manipuler un rendez-vous par programmation Utilisation du menu contextuel (FAA) Utilisation avancée des événements associés au champ Planning Utilisation avancée des événements avec procédure Gestion des jours fériés Propriétés spécifiques aux champs Planning
Manipuler un champ Planning par programmation
Un champ Planning peut être :
Pour manipuler un champ Planning par programmation, WINDEV et WEBDEV proposent les
fonctions PlanningXXX .
Cette page d'aide détaille comment manipuler un champ Planning par programmation. L'exemple utilisé en illustration permet de mémoriser les rendez-vous dans une base HFSQL.
Manipuler le champ Planning par programmation
Ajouter une ressource
L'ajout d'une ressource dans un champ Planning est réalisé grâce à la fonction
PlanningAjouteRessource . Cette ressource peut correspondre à une personne, une salle, ...
Exemple :
PlanningAjouteRessource ( PLN_Planning1 , "Florence" + gValeurMémorisée ( "FP" ) )
PlanningAjouteRessource ( PLN_Planning1 , "Emma" + gValeurMémorisée ( "EM" ) )
PlanningAjouteRessource ( PLN_Planning1 , "Frédéric" + gValeurMémorisée ( "FR" ) )
Dans cet exemple, la fonction
gValeurMémorisée permet de proposer une ressource affichée (par exemple "Florence") et une ressource manipulée par programmation (par exemple "FP").
Ajouter un rendez-vous
L'ajout d'un rendez-vous dans un champ Planning est réalisé grâce à la fonction
PlanningAjouteRendezVous . Cette fonction accepte deux syntaxes :
syntaxe permettant de préciser les caractéristiques du rendez-vous : titre, description, ... Exemple :
MaRessource est une chaîne
MonTitre est une chaîne
DébutRDV est une DateHeure
MaRessource = "Françoise"
MonTitre = "Réunion commerciale"
DébutRDV = DateSys ( ) + "17000000"
PlanningAjouteRendezVous ( PLN_Planning , MaRessource , MonTitre , DébutRDV )
syntaxe manipulant une variable de type RendezVous . Exemple :
MonRendezVous est un RendezVous
MonRendezVous . Titre = "Réunion commerciale"
MonRendezVous . Contenu = "Réunion pour définir les objectifs de la semaine"
MonRendezVous . DateDébut = "201003220845"
MonRendezVous . DateFin = "201003221230"
MonRendezVous . Catégorie = "Commerciale"
MonRendezVous . ID = 1
PlanningAjouteRendezVous ( PLN_Planning , MonRendezVous )
La propriété
CouleurFond de la variable
RendezVous permet de définir une couleur d'affichage pour un rendez-vous. Si aucune couleur de fond n'est définie, le champ Planning utilisera automatiquement la couleur associée à la catégorie du rendez-vous.
Remplir un champ Planning 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 Planning peut être réalisé par un parcours du fichier de données via la syntaxe POUR TOUT et par l'ajout de chaque rendez-vous via la fonction
PlanningAjouteRendezVous .
MonRendezVous est un RendezVous
POUR TOUT RDV
MonRendezVous . Titre = RDV . Titre
MonRendezVous . Contenu = RDV . Contenu
MonRendezVous . DateDébut = RDV . DateDébut
MonRendezVous . DateFin = RDV . DateFin
MonRendezVous . Catégorie = RDV . Catégorie
MonRendezVous . ID = RDV . IDRDV
PlanningAjouteRendezVous ( PLN_MonPlanning , MonRendezVous )
FIN
Récupérer une liste de rendez-vous
La fonction
PlanningListeRendezVous permet de récupérer :
la liste de tous les rendez-vous du champ Planning. Par exemple :
tabListeRendezVous est un tableau de RendezVous
tabListeRendezVous = PlanningListeRendezVous ( PLN_MonPlanning )
la liste des rendez-vous d'une ressource compris entre deux dates. Par exemple :
tabListeRendezVous est un tableau de RendezVous
tabListeRendezVous = PlanningListeRendezVous ( PLN_MonPlanning , MaRessource , ...
"20200101" , "20200131" )
le rendez-vous actuellement sélectionné ou survolé. Par exemple :
tabListeRendezVous est un tableau de RendezVous
tabListeRendezVous = PlanningListeRendezVous ( PLN_MonPlanning , plnRdvSélectionné )
Afficher le planning à partir d'une ressource spécifique ou d'une date spécifique
Pour afficher le planning à partir : d'une ressource spécifique, utilisez la fonction PlanningPositionRessource . Par exemple : PlanningAjouteRendezVous ( PLN_SansNom1 , "Salle ABC" , "RDV 1" , ...
DateSys ( ) + "14000" , DateSys ( ) + "16000" )
PlanningPositionRessource ( PLN_SansNom1 , "Salle ABC" )
d'une date spécifique, utilisez la fonction PlanningPositionDateHeure . Par exemple :
PlanningPositionDateHeure ( PLN_Planning , DateDuJour ( ) )
Supprimer un rendez-vous
La fonction
PlanningSupprimeRendezVous permet de supprimer :
le rendez-vous sélectionné dans le champ. un rendez-vous précis.
PlanningSupprimeRendezVous ( PLN_MonPlanning , 1 )
Supprimer une ressource
La fonction
PlanningSupprimeRessource permet de supprimer une ressource du champ Planning.
ResSup est un booléen
ResSup = PlanningSupprimeRessource ( PLN_Planning1 , "Flo" )
SI ResSup = Vrai ALORS
Info ( "Ressource supprimée" )
FIN
La fonction
PlanningSupprimeTout permet de supprimer tous les rendez-vous présents dans le champ Planning ainsi que toutes les ressources du champ Planning.
Modifier l'affichage du champ
L'affichage courant d'un champ Planning peut être modifié via les fonctions suivantes :
Manipuler un rendez-vous par programmation
Il est possible de manipuler un rendez-vous directement par programmation :
soit en utilisant l'indice du rendez-vous à modifier. soit en pointant par référence directement sur le rendez-vous à modifier. 1. Utilisation de l'indice
Lors de chaque ajout d'un rendez-vous dans un planning, un indice est retourné par la fonction
PlanningAjouteRendezVous . Cet indice représente le rendez-vous ajouté. Cet indice peut être utilisé pour manipuler directement le rendez-vous.
Exemple :
NumRDV est un entier
NumRDV = 5
PLN_SALLE [ NumRDV ] . Titre = "Salle bleue"
2. Utilisation d'une référence
Pour manipuler un rendez-vous, il suffit d'utiliser l'opérateur
<- pour associer le rendez-vous du champ Planning et la variable de type
RendezVous . Une modification effectuée sur la variable sera automatiquement reportée dans le champ.
Exemple :
R est un RendezVous
R < - PLN_Salle [ NumRDV ]
R . Titre = "Nouveau titre"
Utilisation du menu contextuel (FAA)
Utilisation avancée des événements associés au champ Planning
Utilisation avancée des événements avec procédure
Il est possible de proposer à l'utilisateur de définir plus précisément les caractéristiques de son rendez-vous lors d'un ajout ou d'une modification. Il suffit pour cela de créer une fenêtre ou une page avec les informations à remplir.
Dans le code, il suffit d'ouvrir la fenêtre ou la page par exemple dans l'événement "Entrée en saisie d'un rendez-vous". Pour bloquer la saisie directe, l'événement doit alors renvoyer
Faux .
Exemple : Ouverture d'une fenêtre de saisie du rendez-vous.
PROCÉDURE Edition ( rdvEdité est un RendezVous )
Ouvre ( FEN_SaisieRDV_HFSQL , rdvEdité )
RENVOYER Faux
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 et Calendrier, 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 planning.
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 )
Propriétés spécifiques aux champs Planning
Les propriétés suivantes sont spécifiques à la gestion d'un champ Planning par programmation.
DateDébut La propriété DateDébut permet de connaître et de modifier la date de début de la période sélectionnée :dans un champ Calendrier. dans un champ Agenda. dans un champ Planning. DateFin La propriété DateFin permet de connaître et de modifier la date de fin de période sélectionnée : dans un champ Calendrier, dans un champ Agenda. dans un champ Planning.
DéplacementRDV La propriété DéplacementRDV permet de savoir et d'indiquer si l'utilisateur peut déplacer un rendez-vous dans un champ Planning ou dans un champ Agenda. GranularitéDéplacement La propriété GranularitéDéplacement permet de connaître et de modifier la taille de la grille pour le déplacement : des rendez-vous d'un champ Agenda. des rendez-vous d'un champ Planning. des événements d'un champ TimeLine. des tâches d'une colonne de type Diagramme de Gantt. GranularitéDurée La propriété GranularitéDurée permet de connaître et de modifier la taille de la grille utilisée pour le redimensionnement :des rendez-vous d'un champ Agenda. des rendez-vous d'un champ Planning. des événements d'un champ TimeLine. des tâches d'une colonne de type Diagramme de Gantt. GranularitéRendezVous La propriété GranularitéRendezVous permet de connaître et de modifier la précision de la grille utilisée par le champ Agenda ou le champ Planning pour définir les rendez-vous.
Propriété conservée par compatibilité. HauteurJour La propriété HauteurJour permet de connaître et de modifier la hauteur des jours dans un champ Planning avec les jours en ligne et les ressources en colonne. HauteurRessource La propriété HauteurRessource permet de connaître et de modifier la hauteur des ressources dans un champ Planning avec les ressources en ligne. HauteurRuptureJour La propriété HauteurRuptureJour permet de connaître et de modifier la hauteur des ruptures entre les jours dans un champ Planning avec les jours en ligne et les ressources en colonne. HeureOuvrableDébut La propriété HeureOuvrableDébut permet de connaître et de modifier l'heure de début des heures ouvrables utilisées : par un champ Agenda. par un champ Planning. par une colonne de type Diagramme de Gantt (dans un champ Table ou Table hiérarchique). HeureOuvrableFin La propriété HeureOuvrableFin permet de connaître et de modifier l'heure de fin des heures ouvrables utilisées :par un champ Agenda. par un champ Planning. par une colonne de type Diagramme de Gantt (dans un champ Table ou Table hiérarchique). LargeurJour La propriété LargeurJour permet de connaître et de modifier la largeur des jours : dans un champ Planning avec les jours en colonne et les ressources en ligne. dans une colonne de type Diagramme de Gantt. LargeurRessource La propriété LargeurRessource permet de connaître et de modifier la largeur des ressources dans un champ Planning avec les ressources en colonne. MasqueTitreDate La propriété MasqueTitreDate permet de connaître ou de modifier le masque utilisé pour le titre des colonnes des jours dans un champ Agenda ou dans un champ Planning. NbJourAffiché La propriété NbJourAffiché permet de : connaître et de modifier le nombre de jours affichés dans un champ Agenda ou dans un champ Planning. connaître le nombre de jours affichés dans un champ Diagramme de Gantt présent dans un état. Num1erJourDeLaSemaine La propriété Num1erJourDeLaSemaine permet de connaître et de modifier le 1er jour de la semaine affiché dans :un champ Calendrier. un champ Agenda. un champ Planning. un champ de saisie au format Date avec Calendrier. Ressource La propriété Ressource permet de : connaître les ressources visibles dans un champ Planning. connaître la ressource du champ Planning correspondant à l'indice spécifié. RessourceSélectionnée La propriété RessourceSélectionnée renvoie le nom de la ressource correspondant à la sélection de l'utilisateur dans un champ Planning. SaisieDirecteRDV La propriété SaisieDirecteRDV permet de savoir et d'indiquer si l'utilisateur peut modifier directement le titre d'un rendez-vous dans un champ Planning ou dans un champ Agenda. SélectionPériode La propriété SélectionPériode permet de savoir et d'indiquer si l'utilisateur peut sélectionner une période dans un champ Planning ou dans un champ Agenda.
Documentation également disponible pour…