Classe MxxxListe

Cette page ne contient pas de sous-pages directes.

← Retour à Framework


Documentation – Classe MxxxListe (exemple : MCodeDouanierListe)

Exemple concret : MCodeDouanierListe

Introduction

Les classes de type MxxxListe servent à gérer dynamiquement des collections d’objets métiers (Mxxx), souvent liés à des données SQL. Ici, nous documentons MCodeDouanierListe comme modèle d’exemple.

Structure de la classe

CLASSE MCodeDouanierListe

PRIVÉ
    m_tabModele est un tableau de MCodeDouanier dynamique <copie=clone>

Le tableau privé m_tabModele stocke les modèles d’objets métier MCodeDouanier.

Constructeur

PROCÉDURE Constructeur()

Le constructeur prépare l’instance sans logique spécifique initialement.

Accès au tableau

PROCÉDURE PUBLIQUE p_tabModele()

RENVOYER m_tabModele

Permet d’obtenir une copie contrôlée du tableau des modèles.

Destructeur

PROCÉDURE Destructeur()

Permet d’intercepter la destruction de l’objet pour nettoyage éventuel.

Suppression de tous les éléments

PROCÉDURE SupprimerTout()

m_tabModele.SupprimeTout()

Vide et libère toute la mémoire occupée par les objets du tableau.

Chargement depuis la base de données

PROCÉDURE Charger() : booléen

sTmpSQL est une chaîne

sTmpSQL = [
    SELECT
    ref_code,
    code,
    nom,
    info,
    actif
    FROM
    LATECodeDouanier
    ORDER BY
    code
]

RENVOYER ExecuterRequete(sTmpSQL)

Effectue un chargement complet des données depuis la base en utilisant SQL.

Exécution de la requête SQL (Privé)

PROCÉDURE PRIVÉE ExecuterRequete(sTmpSQL est une chaîne) : booléen

sNomReq est une chaîne = "REQ" + DonneIdentifiant()
M est un MCodeDouanier dynamique

SI SQLExec(sTmpSQL, sNomReq) ALORS
    SQLPremier(sNomReq)
    TANTQUE PAS SQL.EnDehors
        M = allouer un MCodeDouanier
        M.m_nRefCode = SQLCol(sNomReq, 1)
        M.m_sCode = SQLCol(sNomReq, 2)
        M.m_sNom = SQLCol(sNomReq, 3)
        M.m_sInfo = SQLCol(sNomReq, 4)
        M.m_nActif = SQLCol(sNomReq, 5)
        m_tabModele.Ajoute(M)
        SQLSuivant(sNomReq)
    FIN
SINON
    SQLErreur(sTmpSQL, sNomReq)
    RENVOYER Faux
FIN
SQLFerme(sNomReq)

RENVOYER Vrai

Remplit dynamiquement le tableau m_tabModele avec les données SQL récupérées.

Ajout d’un modèle

PROCÉDURE Ajouter(M est un MCodeDouanier dynamique) : entier

RENVOYER m_tabModele.Ajoute(M)

Ajoute un objet métier au tableau et retourne son nouvel index.

Recherche d’un modèle par référence

PROCÉDURE GetModele(LOCAL nRefCodeDouanier est un entier) : MCodeDouanier

nIndex est un entier = m_tabModele.Cherche(tcLinéairePremier, "m_nRefCode", nRefCodeDouanier)

SI nIndex > 0 ALORS
    RENVOYER m_tabModele[nIndex]
SINON
    RENVOYER MCodeDouanier.Vide
FIN

IMPORTANT :

  • Usage de LOCAL : Le paramètre est en LOCAL pour éviter les effets de bord dans les appels d’interface et garantir l’isolation des valeurs d’entrée.
  • Typage du retour : Le retour est explicitement typé en MCodeDouanier, ce qui est crucial pour :
    • Permettre la vérification à la compilation.
    • Assurer la compatibilité avec les éditeurs d’interface (EDT, tables, etc.).
    • Éviter des erreurs dynamiques (type, propriété inexistante).

Document généré automatiquement. Dernière mise à jour : 2025.