Arbre
Cette classe crée des objets descendants, pour analyser des arborescences depuis des objets racines, extraire des descendances (des composants).
Elle expose 3 méthodes : faitdbf, faitxml, faithtml
faitdbf(Aitem As Variant, aleph As String, Destination As String, Infos As Long)
faitxml(Aitem As Variant, aleph As String, Destination As String, Infos As Long)
Ces méthodes extraient tous les descendants de chaque racine passée dans le tableau d’entrée, et génèrent un fichier dbf ou xml.
Paramètres obligatoires
· Aitem
un tableau unidimensionnel d’éléments susceptibles d’appartenir à un même dbf article d’une base aleph. La méthode accepte également un seul élément passé en tant que chaîne de caractères.
· Aleph
le chemin complet du dbc auquel est rattaché le fichier article dont sont issus les éléments du tableau Aitem
Paramètres optionnels
· Destination
le nom et chemin complet du dbf de destination, avec ou sans l’extension (.dbf) ; en l’absence de ce paramètre, le fichier généré portera un nom aléatoire de la forme _1AK0YVM7Y.dbf, et sera enregistré dans le répertoire du dbc source.
Sortie
En l’absence du paramètre infos (ou si sa valeur est passée à 0), le dbf généré ne comporte que les 4 champs suivants :
· Zkey (10 caractères représentant un nombre entier unique, le dernier étant _ )
c’est de l’identifiant unique de ce nœud de l’arborescence, calculé par aleph.
· Zparent (10 caractères représentant un nombre entier unique, le dernier étant _ )
c’est l’identifiant unique du parent de cet nœud de l’arborescence, calculé par aleph.
· Zcode (13 caractères)
c’est le code de l’élément, tel qu’il a été saisi dans la table article.
· Zniv (entier)
donne le niveau de profondeur de cet élément dans l’arborescence de sa racine ; une racine a le niveau 0, ce sont les éléments passés dans le tableau Aitem.
Les 3 premiers champs permettent donc de peupler directement un objet treeview.
Si le paramètre infos est passé de 1 à 7, les champs suivants seront ajoutés :
- Zcomplement (35 caractères)
c’est le complément d’information concernant le nœud, si ce complément a été saisi dans la table compocomplement. - Zquantite (numérique 10 positions à 3 décimales)
c’est la quantité concernant la composition, si elle a été saisie dans la table artcompo - Adesign (35 caractères)
la désignation de l’item, si elle a été saisie dans la table article - Adatedeb (date-heure jj/mm/aaaa hh:mm:ss)
la date de début de l’item, si elle a été saisie dans la table article - Adatefin (date-heure jj/mm/aaaa hh:mm:ss)
la date de fin de l’item, si elle a été saisie dans la table article - Abarcode (13 caractères numériques)
le code EAN13 de l’item, s’il a été saisi dans la table article - Historique (Mémo)
tous les événements aleph de cet item y sont enregistrés :
horodatage de sa création en table article, modification de tout contenu de tout champ le concernant directement ou indirectement dans les tables article ou artcompo
Pour la sortie xml, les données extraites (et les options d’informations complémentaires) sont identiques au fichier dbf ; chaque élément est encadré par la balise .
faithtml(Aitem As Variant, aleph As String, Destination As String, Infos As Long)
Cette méthode extrait tous les descendants de chaque racine passée dans le tableau d’entrée, et génère un fichier htm, avec sa feuille de style et son script java.
Ce fichier affiche directement les arborescences descendantes des racines passées en tableau d’entrées, en mode treeview interactif (racines et nœuds développés par click)
Les racines sont affichées en bleu, les nœuds intermédiaires en brun, les feuilles en noir. Les infos complémentaires demandées par le paramètre ninfos sont affichées directement sous chaque entrée, à l’exception des informations d’historique qui sont reportées en fin de document.
Ancetre
Cette classe crée des objets ascendants, pour analyser des arborescences depuis des objets feuilles, extraire, vérifier ou comparer des parents.
Elle expose 3 méthodes : directsdbf, directsxml, verifie
directsdbf(Aitem As Variant, aleph As String, Destination As String, Niveaux As Logical)
directsxml(Aitem As Variant, aleph As String, Destination As String, Niveaux As Logical)
Ces méthodes extraient tous les parents de chaque élément passé dans le tableau d’entrée, et génèrent un fichier dbf ou xml.
Paramètres obligatoires
· Aitem
un tableau unidimensionnel d’éléments susceptibles d’appartenir à un même dbf article d’une base aleph. La méthode accepte également un seul élément passé en tant que chaîne de caractères.
Le nombre d’éléments est limité à 253.
· Aleph
le chemin complet du dbc auquel est rattaché le fichier article dont sont issus les éléments du tableau Aitem
Paramètre optionnel
Destination
le nom et chemin complet du dbf de destination, avec ou sans l’extension (.dbf) ; en l’absence de ce paramètre, le fichier généré portera un nom aléatoire de la forme _1AK0YVM7Y.dbf, et sera enregistré dans le répertoire du dbc source.
Option supplémentaire
Niveaux
l’absence de ce paramètre lui donne la valeur faux ; le passage de ce paramètre à vrai renseigne le niveau de profondeur auquel se trouve cet ascendant par rapport à l’item feuille.
Sortie
La structure et la taille du dbf généré dépendent du paramètre optionnel niveaux.
· Niveaux = .F.
Le dbf généré comporte :
- un champ de type Logique par item feuille passé dans le tableau d’entrée ; ces champs portent le nom de l’item passé.
- Un champ (nommé aleph si ce nom n’est pas celui d’un des items feuilles, sinon, son nom est aléatoire) de type caractère (13), collectant les noms des ancêtres de tous les items feuilles passés en entrée.
- Un enregistrement par ancêtre collecté, les champs des items feuilles étant renseignés à vrai ou faux suivant que cet ancêtre est un de ses parents ou non.
Ce fichier de sortie permet donc de retrouver les ancêtres communs à une collection d’items feuilles.
· Niveaux = .T.
Le dbf généré comporte :
- un champ de type Caractère (13) par item feuille passé dans le tableau d’entrée ; ces champs portent le nom de l’item passé.
- Un champ (nommé zniv si ce nom n’est pas celui d’un des items feuilles, sinon, son nom est aléatoire) de type entier, collectant les niveaux ascendants des ancêtres de tous les items feuilles passés en entrée.
- Un enregistrement par ancêtre collecté et par niveau trouvé, les champs des items feuilles étant renseignés avec le nom de l’ancêtre.
Ce fichier de sortie permet donc de retrouver les proximités d’influence des ancêtres d’une collection d’item feuilles.
Pour la sortie xml, les données extraites (en fonction des options supplémentaires) sont identiques au fichier dbf ; chaque item feuille est encadré par la balise
verifie(Article As String, parents As Variant, aleph As String)
Cette méthode vérifie si les items passés en tableau sont ou non parents de l’article passé en 1er paramètre.
Paramètres obligatoires
- article
le code de l'élément feuille dont on veut vérifier la parentèle ascendante - parents
un tableau unidimensionnel d’éléments susceptibles d’être parents d’article d’une même base aleph. La méthode accepte également un seul élément passé en tant que chaîne de caractères - aleph
le chemin complet du dbc auquel est rattaché le fichier article dont sont issus les éléments des 2 premiers paramètres
Sortie
Un tableau à 2 dimensions (une ligne par élément passé, 1ère colonne le nom de l’élément, 2ème colonne en valeur Logique)