PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Les étapes de la création de pattern RAD
  • Création des différentes fenêtres du pattern
  • Les fichiers à créer
  • Norme à suivre
  • Les fenêtres de relation
  • Présentation
  • Créer une fenêtre de relation
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
Créer les fenêtres Relation d'un pattern RAD WINDEV
Les étapes de la création de pattern RAD
Les différentes étapes permettant de créer un Pattern RAD WINDEV sont les suivantes :
  1. Création du projet de type "Pattern RAD".
  2. Création des différentes fenêtres du pattern.
  3. Génération du Pattern RAD.
  4. Utilisation du Pattern RAD.
Création des différentes fenêtres du pattern

Les fichiers à créer

Rappel : Pour réaliser un pattern RAD permettant de faire un projet complet, les fichiers suivants sont nécessaires :
  • Une fiche pour RADFichierA.
  • Une fiche pour RADFichierB. Un bouton Vision plus (ou une combo popup) doit permettre de sélectionner un élément du fichier RADFichierA.
  • Une fiche pour RADFichierC. Un bouton Vision plus (ou une combo popup) doit permettre de sélectionner un élément du fichier RADFichierB.
  • Une table pour RADFichierA.
  • Une table pour RADFichierB.
  • Une table pour RADFichierC.
  • Une fenêtre de relation RADFichierB / RADFichierD.
Ces différents éléments doivent contenir des boutons de liaison. Il est également possible de fournir le menu général de l'application.

Norme à suivre

Cette page d'aide présente différentes règles applicables à la conception des pages et des fenêtres du Pattern RAD. Ces règles ont été utilisées pour concevoir les différents Patterns livrés avec WINDEV 24.
Ces règles sont une recommandation. Vous pouvez évidemment mettre en place et utiliser vos propres normes.
Les fenêtres de relation

Présentation

Les fenêtres de relation permettent d'afficher simultanément des informations provenant de plusieurs fichiers. Dans un exemple simple, ce type de fenêtre permettrait d'afficher les commandes et les lignes de commandes correspondantes. Ce type de fenêtre peut être Fiche + Table.
Une fenêtre Fiche + Table regroupe les éléments des fiches et les éléments des tables.
La fiche est constituée des éléments suivants :
  • Un superchamp : Ce superchamp contient les champs de la fiche à afficher. Ce superchamp est lié au fichier à afficher.
  • Une combo et un bouton Vision plus
  • De boutons si nécessaire permettant de réaliser des actions de base.
La table est constituée des éléments suivants :
  • Une table : Cette table est une table fichier, avec fichier chargé en mémoire.
  • De boutons permettant de réaliser des actions de base : Ajouter, Modifier, Supprimer et si nécessaire Imprimer.
  • De boutons de liaison permettant d'afficher par exemple les fiches correspondantes.
Dans le pattern RAD, une fenêtre de relation doit être créée : elle relie RADFichierB à RADFichierD.
Exemple : Fenêtre de relation dans le pattern RAD Simple :

Créer une fenêtre de relation

Pour créer une fenêtre de relation :
  1. Sélectionnez l'option "Fichier .. Nouveau .. Fenêtre", puis l'option "Vierge".Cliquez sur parmi les boutons d'accès rapide :
    • Dans la roue qui s'affiche, cliquez sur "Fenêtre". La fenêtre de création d'un nouvel élément s'affiche : cliquez sur "Fenêtre" puis sur "Fenêtre".
    • L'assistant de création d'une fenêtre se lance.
    • Dans l'assistant, sélectionnez "Vierge" et validez.
  2. Dans la fenêtre de description, saisissez les informations suivantes :
    • Le nom de la fenêtre. Ce nom doit obligatoirement contenir le nom du fichier affiché dans la fiche (quelques exemples : FEN_Relation_RADFichierD, FEN_Rel_RADFichierD, ...).
    • Le titre de la fenêtre. Si le titre doit afficher le nom du fichier, utilisez le nom du fichier "RADFichierXX" (par exemple "RADFichierD : Relation").
  3. Enregistrez la fenêtre.
  4. La fenêtre doit être séparée en deux parties :
    • une partie Fiche : dans cette partie seront affichée les caractéristiques de la fiche sur le fichier RADFichierB.
    • une partie Table : dans cette partie seront affichées les caractéristiques de la table sur le fichier RADFichierD. Des boutons permettent également de gérer les enregistrements présents dans la table.
Création de la partie Fiche :
  1. Créez un superchamp dans la fenêtre (option "Insertion .. Spécial .. Superchamp"). Ce superchamp va afficher les champs de la fiche. Positionnez ce champ dans la fenêtre et définissez sa taille. Si tous les champs ne peuvent pas entrer dans la taille définie, des ascenseurs apparaîtront automatiquement.Créez dans la fenêtre un superchamp : sous le volet "Création", dans le groupe "Conteneurs", cliquez sur "Superchamp".
    Ce superchamp va afficher les champs de la fiche. Positionnez ce champ dans la fenêtre et définissez sa taille. Si tous les champs ne peuvent pas entrer dans la taille définie, des ascenseurs apparaîtront automatiquement.
  2. Dans la fenêtre de description du superchamp, indiquez le nom du superchamp. Ce nom doit être obligatoirement SC_Fiche (SC_ est le préfixe de la charte de programmation : il n'est pas nécessaire si vous n'utilisez pas de charte de programmation).
  3. Dans l'onglet "Contenu" de la fenêtre de description du superchamp, spécifiez :
    • le fichier parcouru : RADFichierB.
    • la rubrique parcourue : IDRADFichierB.
Création de la partie Table :
  1. Créez un champ Table dans la fenêtre (option "Insertion .. Champ .. Table").Créez un champ Table dans la fenêtre : sous le volet "Création", dans le groupe "Données", déroulez "Table et liste" et sélectionnez "Table (Verticale)".
  2. Dans l'assistant de création de table, indiquez les caractéristiques suivantes :
    • Sélectionnez l'option "Afficher les données d'un fichier ou d'une requête existante".
    • Sélectionnez le fichier de base de la table : RADFichierD.
    • Conservez les rubriques proposées. La clé de parcours est IDRADFichierBRel.
    • Indiquez la source pour le remplissage : "Fichier chargé en mémoire".
    • Validez le nom de la table.
  3. Positionnez le champ Table dans la fenêtre et définissez sa taille. Si nécessaire, les colonnes correspondant aux identifiants peuvent être invisibles.
  4. Créez et positionnez les différents boutons permettant de gérer les enregistrements affichés dans la table. Ces boutons peuvent avoir n'importe quel nom.
    Il est conseillé de mettre :
    • un bouton de suppression,
    • un bouton permettant d'accéder à la fiche du fichier RADFichierC,
    • un bouton de validation de la fenêtre,
    • un bouton d'annulation.
    • des boutons de liaison.
      Attention : si vous autorisez l'utilisateur à appliquer un gabarit aux fenêtres créées par le RAD, il est nécessaire de définir le type de bouton qui doit être utilisé par le gabarit. Cette information peut être définie dans le modifieur (Catégorie "Gabarit").
  5. Cas du bouton de suppression (bouton Supprimer par exemple).
    Ce bouton peut par exemple supprimer un enregistrement sélectionné dans la table.
    Le code du bouton Supprimer peut être par exemple :
    // Suppression de l'enregistrement courant
    TableSupprime(TABLE_RADFichierD)

    Dans le code du bouton de suppression, il est conseillé d'activer le gestion automatique des erreurs (Option "Si Erreur : ", avec le traitement automatique "Afficher l'erreur et retourner en saisie").
  6. Cas du bouton vers RADFichierC (bouton de liaison BTN_LiaisonFiche_RADFichierC par exemple).
    Ce bouton peut par exemple permettre de visualiser dans une fiche un enregistrement sélectionné dans la table.
    Le code du bouton peut être par exemple :
    // Recherche du RADFichierC pour le RADFichierD courant
    HLitRecherchePremier(RADFichierC, IDRADFichierC, RADFichierD.IDRADFichierCRel)
    // Si le RADFichierC n'existe pas
    SI HTrouve(RADFichierC) = Faux ALORS
    // Message indiquant qu'il n'y a pas d'enregistrement RADFichierC
    // lié à l'enregistrement RADFichierD courant
    Info("Pas d'enregistrement RADFichierC lié à l'enregistrement courant.")
    RETOUR
    FIN
    // Ouverture de la fenêtre fiche du RADFichierC
    Ouvre(FEN_Fiche_RADFichierC)

    Remarque : des boutons de liaison par défaut sont également nécessaires. Pour plus de détails, consultez Créer des boutons de liaison.
  7. Cas du bouton de fermeture (bouton Valider par exemple).
    Ce bouton permet de valider et de fermer la fenêtre. Pour simplifier, il est possible d'utiliser une action prédéfinie. Il est conseillé d'utiliser l'action "Fermeture de la fenêtre et renvoyer une valeur", avec l'option "Valeur renvoyée : la valeur spécifiée dans le code par ..ValeurRenvoyée".
    Le code de ce bouton est par exemple :
    // Vérification des champs
    SI TABLE_RADFichierD..Occurrence = 0 ALORS
    Erreur("Vous devez saisir des RADFichierD")
    RETOUR
    FIN
    // Mise à jour du contexte HyperFileSQL
    EcranVersFichier()
    // Ajout ou modification de RADFichierB
    SI RADFichierB..NouvelEnregistrement = Vrai ALORS
    HAjoute(RADFichierB)
    SINON
    HModifie(RADFichierB)
    FIN
    // On a ajouté le RADFichierB
    // Maintenant on va ajouter les RADFichierD correspondants
    POUR TOUTE LIGNE DE TABLE_RADFichierD
    // On affecte l'identifiant de RADFichierB
    // dans les colonnes de la table des RADFichierD
    TABLE_RADFichierD.COL_IDRADFichierBRel = RADFichierB.IDRADFichierB
    // Enregistrement de la table
    TableEnregistre(TABLE_RADFichierD)
    FIN
    // Valeur de retour
    MaFenêtre..ValeurRenvoyée = Vrai
  8. Cas du bouton d'annulation :
    Ce bouton permet d'annuler et de fermer la fenêtre. Pour simplifier, il est possible d'utiliser une action prédéfinie. Il est conseillé d'utiliser l'action "Fermeture de la fenêtre et renvoyer une valeur", avec l'option "Valeur renvoyée : la valeur spécifiée dans le code par ..ValeurRenvoyée".
    Le code de ce bouton peut être par exemple :
    // Si une création est en cours, demande confirmation
    SI RADFichierB..NouvelEnregistrement ALORS
           //1 : &Enregistrer
           //2 : &Ne pas enregistrer
            //3 : Annuler
            SELON Dialogue("Un enregistrement est en cours de création.")
                   //1 : &Enregistrer
                    CAS 1 :
                    // Exécute le code de clic du bouton valider :
                    // enregistrement des données en cours
                    ExécuteTraitement(BTN_Valider, trtClic)
                   //2 : &Ne pas enregistrer
                    CAS 2 // La fenêtre sera fermée sans enregistrement
                   //3 : &Annuler
                    CAS 3 : RETOUR
            FIN
    FIN
  9. Code d'initialisation de la fenêtre :
    // Affichage des enregistrements
    FichierVersEcran()
    // Filtre pour la table des FichierD
    HFiltre(RADFichierD, IDRADFichierBRel, RADFichierB.IDRADFichierB)
    // Valeur de retour par défaut
    MaFenêtre..ValeurRenvoyée = Faux
  10. Code de fermeture de la fenêtre. Ce code permet de désactiver le filtre :
    // Désactive le filtre
    HDésactiveFiltre(RADFichierD)
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire