mth_RenvoyerAttributSelonGUID
Recherche dans le tableau interne m_tabResults l'objet dont le GUID temporaire d'instance correspond à celui passé en paramètre, et retourne la valeur d'un attribut nommé. Recherche en mémoire — aucune requête SQL n'est émise.
📋 Description
mth_RenvoyerAttributSelonGUID permet de retrouver, parmi les objets présents dans m_tabResults, celui dont le GUID temporaire d'instance (p_sGUIDTemp) correspond à celui passé en paramètre, puis d'en extraire la valeur d'un attribut désigné par son nom.
La méthode est polymorphe : elle retourne un Variant, ce qui permet de récupérer indifféremment une chaîne, un entier, un booléen, une date ou tout autre type d'attribut sans typage à la déclaration.
1. Identifier un objet avant enregistrement. Quand un objet vient d'être créé en mémoire et n'a pas encore été persisté, sa clé primaire vaut 0. Le GUID temporaire d'instance (attribué dès la construction) est alors le seul identifiant disponible pour le distinguer des autres objets non encore enregistrés.
2. Identification stable d'une ligne UI. Référencer un élément du tableau via son GUID plutôt que via un index de tableau, qui peut changer après un tri ou un filtre.
3. Lookup ad-hoc sur un attribut quand le GUID est déjà connu côté appelant.
La méthode opère uniquement sur le tableau m_tabResults déjà chargé en mémoire. Aucune requête SQL n'est émise, aucun aller-retour réseau, pas d'impact sur la base. C'est une opération en O(n) sur la taille du tableau.
🔑 Signature
LOCAL sGUID est une chaîne,
LOCAL sNomAttribut est une chaîne
) : Variant
| Élément | Valeur |
|---|---|
| Visibilité | PUBLIQUE |
Paramètres
| Paramètre | Type | Rôle |
|---|---|---|
sGUID | chaîne | GUID temporaire de l'instance recherchée — typiquement la valeur de p_sGUIDTemp notée précédemment. |
sNomAttribut | chaîne | Nom de l'attribut à récupérer, sous la forme du nom du membre WLangage (ex : "m_DENOMINATION", "m_VILLE", "m_ID_CLIENT"). |
🧭 Le GUID temporaire d'instance — p_sGUIDTemp
Chaque instance d'une classe métier ORM_CSHX2 possède une propriété publique p_sGUIDTemp qui contient un identifiant unique attribué à la construction de l'objet. Cet identifiant sert de clé pour la recherche en mémoire effectuée par mth_RenvoyerAttributSelonGUID.
Caractéristiques
| Propriété | Description |
|---|---|
| Attribution | Automatique à la construction de l'instance. L'appelant n'a rien à faire. |
| Durée de vie | Mémoire uniquement. Disparaît avec l'instance. |
| Persistance | Aucune. Le GUID n'est jamais écrit en base. |
| Reset | Remis à "" par mth_RAZ (un nouvel appel à mth_RAZ ne régénère pas un nouveau GUID). |
Distinction avec SQL_UUID
Ne pas confondre p_sGUIDTemp avec la colonne framework SQL_UUID :
p_sGUIDTemp | SQL_UUID | |
|---|---|---|
| Stockage | Propriété d'instance, mémoire uniquement | Colonne framework persistée en base |
| Disponible avant enregistrement | ✅ Oui (dès la construction) | ❌ Non (attribué à l'enregistrement) |
| Survit à la fermeture du programme | ❌ Non | ✅ Oui |
| Usage typique | Identification volatile d'instance en mémoire | Identification durable inter-base |
Pour cette méthode, c'est bien p_sGUIDTemp qui est utilisé.
📤 Valeur de retour
La méthode retourne un Variant. Selon les cas :
| Cas | Retour |
|---|---|
| Objet trouvé, attribut renseigné | Valeur de l'attribut (type variable selon l'attribut) |
sGUID est vide ou ne contient que des espaces | Null |
m_tabResults est vide | Null |
| Aucun objet du tableau ne correspond au GUID | Null |
<> NullLe retour Null couvre indifféremment les trois cas d'absence (GUID vide, tableau vide, GUID non trouvé). Tester SI vRetour <> Null ALORS avant utilisation est la pratique courante.
💡 Exemples
Mode 1 — lookup nominal après chargement
Mode 2 — identification d'un objet non encore enregistré
Cas d'usage : saisie multi-lignes (zone répétée d'un formulaire) où l'utilisateur ajoute plusieurs objets avant le mth_Enregistrer final.
Mode 3 — lookup défensif avec gestion du Null