PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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 traitements associés au champ Planning
  • Utilisation avancée des traitements avec procédure
  • Gestion des jours fériés
  • Propriétés spécifiques aux champs Planning
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
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.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
Android Les champs Planning sont disponibles pour les applications Android.
iPhone/iPad Les champs Planning sont disponibles pour les applications iPhone/iPad.
Nouveauté 21
Android Les champs Planning sont disponibles pour les applications Android.
iPhone/iPad Les champs Planning sont disponibles pour les applications iPhone/iPad.
Android Les champs Planning sont disponibles pour les applications Android.
iPhone/iPad Les champs Planning sont disponibles pour les applications iPhone/iPad.
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 :
// Ajoute des ressources dans un champ Planning
PlanningAjouteRessource(PLN_Planning1, "Florence" + gLien("FP"))
PlanningAjouteRessource(PLN_Planning1, "Emma" + gLien("EM"))
PlanningAjouteRessource(PLN_Planning1, "Frédéric" + gLien("FR"))
Dans cet exemple, la fonction gLien permet de proposer une ressource affichée (par exemple "Florence") et une ressource manipulée par programmation (par exemple "FP").
WINDEVAndroidiPhone/iPad Remarque : La fonction PlanningAjouteRessource permet d'insérer une image dans le titre de la ressource.

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 :
    // Ajoute un rendez-vous d'1 heure pour ce soir
    MaRessource est une chaîne
    MonTitre est une chaîne
    DébutRDV est un 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 :
    // Déclare une variable de type RendezVous
    MonRendezVous est un RendezVous

    // Remplit le rendez-vous
    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

    // Ajoute le rendez-vous au champ
    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 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.
// Variable de type RendezVous
MonRendezVous est un RendezVous

// Parcours des rendez-vous mémorisés en base
POUR TOUT RDV
// Remplit les informations de la variable
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

// Ajoute le rendez-vous au champ Planning
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 :
    // Tableau contenant une liste de Rendezvous
    tabListeRendezVous est un tableau de RendezVous

    // Liste des rendez-vous
    tabListeRendezVous = PlanningListeRendezVous(PLN_MonPlanning)
  • la liste des rendez-vous d'une ressource compris entre deux dates.
    Par exemple :
    // Liste des rendez-vous de Janvier 2014
    tabListeRendezVous est un tableau de RendezVous

    // Liste des rendez-vous
    tabListeRendezVous = PlanningListeRendezVous(PLN_MonPlanning, MaRessource, ...
    "20140101", "20140131")
  • le rendez-vous actuellement sélectionné ou survolé.
    Par exemple :
    // Rendez-vous sélectionné
    tabListeRendezVous est un tableau de RendezVous

    tabListeRendezVous = PlanningListeRendezVous(PLN_MonPlanning, plnRdvSélectionné)
Versions 17 et supérieures

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 :
    // Positionne le planning sur la date du jour
    PlanningPositionDateHeure(PLN_Planning, DateDuJour())
Nouveauté 17

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 :
    // Positionne le planning sur la date du jour
    PlanningPositionDateHeure(PLN_Planning, DateDuJour())

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 :
    // Positionne le planning sur la date du jour
    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.
// Supprime le premier rendez-vous
PlanningSupprimeRendezVous(PLN_MonPlanning, 1)

Supprimer une ressource

La fonction PlanningSupprimeRessource permet de supprimer une ressource du champ Planning.
// Supprime une des ressources
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

// Changement du titre affiché sur le rendez-vous numéro 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)
WINDEVWindows Le champ Planning est associé par défaut à un menu contextuel (FAA). Via le menu contextuel du champ Planning, il est possible de :
  • modifier le mode d'affichage du champ,
  • ajouter, modifier ou supprimer un rendez-vous.
Pour sauvegarder les opérations réalisées, il est nécessaire d'utiliser les traitements du champ Planning.
Dans le traitement concerné, il suffit de récupérer le rendez-vous en cours d'utilisation et de faire le traitement correspondant.
Exemple : Pour mémoriser dans un fichier de données RDV, un rendez-vous que l'utilisateur ajoute via le menu contextuel, il suffit de saisir dans le traitement "Entrée en saisie d'un rendez-vous" :
PROCEDURE Edition(rdvEdité est un RendezVous)

// Mémorisation des données
RDV.Titre = rdvEdité..Titre
RDV.DateDébut = rdvEdité..DateDébut
RDV.DateFin = rdvEdité..DateFin
...
HAjoute(RDV)
Le même type de code peut être mis en place pour les différents traitements du champ Planning. En effet, pour chaque traitement du champ qui manipule un rendez-vous, une procédure a été déclarée automatiquement par le champ Planning.
Ces procédures reçoivent en paramètre une variable de type RendezVous concernée par le traitement.
Utilisation avancée des traitements associés au champ Planning

Utilisation avancée des traitements 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 le traitement "Entrée en saisie d'un rendez-vous". Pour bloquer la saisie directe, le traitement doit alors renvoyer Faux.
WINDEVWindows Ce principe peut être appliqué à tous les traitements appelés par le menu contextuel du champ Planning.
Exemple : Ouverture d'une fenêtre de saisie du rendez-vous.
PROCEDURE Edition(rdvEdité est un RendezVous)

// Ouvre la fenêtre de saisie d'un rendez-vous
// avec le rendez-vous sélectionné (en mode Création ou Modification)
Ouvre(FEN_SaisieRDV_HFSQL, rdvEdité)

// Renvoie FAUX pour bloquer la saisie directe dans le champ Planning
RENVOYER Faux
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 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 :
// Suppression de tous les jours fériés
JourFériéSupprimeTout()
// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM
JourFériéAjoute("0101") // 1er Janvier
JourFériéAjoute(jfLundiDePâques) // Lundi de Pâques
JourFériéAjoute("0501") // 1er Mai
JourFériéAjoute("0508") // 8 Mai
JourFériéAjoute(jfJeudiDeLAscension) // Jeudi de l'Ascension
JourFériéAjoute(jfLundiDePentecôte) // Lundi de Pentecôte
JourFériéAjoute("0714") // 14 Juillet
JourFériéAjoute("0815") // 15 Août (Assomption)
JourFériéAjoute("1101") // Toussaint
JourFériéAjoute("1111") // 11 Novembre
JourFériéAjoute("1225") // Noël

// Ajout de 2 jours fériés supplémentaires pour la Moselle et l'Alsace
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.
Versions 14 et supérieures
DateDébut
Nouveauté 14
DateDébut
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.
Versions 14 et supérieures
DateFin
Nouveauté 14
DateFin
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.
Versions 17 et supérieures
DéplacementRDV
Nouveauté 17
DéplacementRDV
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.
Versions 16 et supérieures
GranularitéDéplacement
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.
Versions 16 et supérieures
GranularitéDurée
Nouveauté 16
GranularitéDurée
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.
Versions 15 et supérieures
GranularitéRendezVous
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é.
Versions 17 et supérieures
HauteurJour
Nouveauté 17
HauteurJour
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.
Versions 17 et supérieures
HauteurRessource
Nouveauté 17
HauteurRessource
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.
Versions 17 et supérieures
HauteurRuptureJour
Nouveauté 17
HauteurRuptureJour
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.
Versions 15 et supérieures
HeureOuvrableDébut
Nouveauté 15
HeureOuvrableDébut
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).
Versions 15 et supérieures
HeureOuvrableFin
Nouveauté 15
HeureOuvrableFin
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).
Versions 17 et supérieures
LargeurJour
Nouveauté 17
LargeurJour
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.
Versions 17 et supérieures
LargeurRessource
Nouveauté 17
LargeurRessource
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.
Versions 16 et supérieures
MasqueTitreDate
Nouveauté 16
MasqueTitreDate
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.
Versions 15 et supérieures
NbJourAffiché
Nouveauté 15
NbJourAffiché
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.
Versions 15 et supérieures
Num1erJourDeLaSemaine
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.
Versions 16 et supérieures
Ressource
Nouveauté 16
Ressource
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é.
Versions 16 et supérieures
RessourceSélectionnée
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.
Versions 17 et supérieures
SaisieDirecteRDV
Nouveauté 17
SaisieDirecteRDV
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.
Versions 17 et supérieures
SélectionPériode
Nouveauté 17
SélectionPériode
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.
Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées avec un champ de type Planning, consultez Propriétés associées au champ Planning.
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire