ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Aleph   



L'auteur

Michel Lévy
France France
Membre Simple
# 0000000004
enregistré le 12/10/2004

67 ans
LEVY Michel
34490 CORNEILHAN
Fiche personnelle

Applications > Tous métiers


Aleph
Gestion des arborescences, Traçabilité
# 0000000012
ajoutée le 24/10/2004 et modifiée le 25/04/2005
consulté 6049 fois

Développée par l'entreprise Michel LÉVY Durée du projet : 1 an
Version de Foxpro : VFP 8.0
Description

א ק Aleph (qatan) est une base de donnée dont les règles d’intégrité référentielle gèrent l’implémentation et les modifications des arborescences, en faisant appel, si nécessaire, à une DLL spécifique (Beth - ב) qui traite les règles métiers (autorisations et modes de traitement des suppressions de branches d’arborescence).

א ק Aleph(qatan) est destinée à être adossée derrière un fichier de données (dbf ou autre) ; il suffit d’établir une correspondance entre votre fichier de données et les 2 principaux dbf d’Aleph(qatan).

Cette correspondance est gérable de multiples façons :

  • en ajoutant les dbf d’Aleph(qatan) et les champs nécessaires dans vos propres vues
  • en instanciant les classes custom du vcx Comaleph
  • en utilisant la DLL Comaleph

L’intégrité référentielle est basée sur un identifiant unique attribué en interne par une procédure stockée, ce qui permet de modifier à tout moment le code attribué en externe à chaque item, sans rien détruire de la structure de traçabilité. Vous équilibrez ainsi confidentialité et gestion du risque.

La construction de l’arborescence de filiation est effectuée aussi bien lors de l’insertion d’un nouvel item dans le fichier article, que lors de l’implémentation d’une ligne de composition dans le fichier artcompo

L’implémentation d’un nouvel item nécessite :

2 paramètres obligatoires :
le dbc, le code externe

5 paramètres optionnels:
la désignation, le code EAN13, la date-heure de début, la date-heure de fin, un complément de désignation

Le nouvel item est automatiquement identifié dans les tables de composition ; si des lignes de préparation d’arborescence ont déjà été saisies en incluant cet item, sa création déclenche la construction de l’arborescence ascendante et descendante impliquant toutes les occurrences de ce nouvel élément.

L’implémentation du fichier de composition nécessite :

3 paramètres obligatoires :
le dbc, l’item enfant, l’item parent

1 paramètre optionnels:
la quantité d’enfant dans le parent

Si les nouveaux items appartiennent déjà au fichier article, la filiation sera automatiquement établie sur tous les niveaux requis lors de l’insertion de cette nouvelle ligne de composition dans le fichier artcompo. Si les items de cette nouvelle ligne n’appartiennent pas au fichier article, la ligne est mise en réserve, pour un déclenchement automatique généré par l’insertion ultérieure de ces items dans le fichier article.

Toute insertion, modification, ou suppression dans les fichiers d’Aleph(qatan) est enregistrée avec horodatage dans un dbf d’historique du dbc.

La recherche dans l’arborescence est facilitée par l’objet Comaleph, qui propose 2 classes de sortie : arbre et ancetres.


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)

Clients nommables (ou positionnement sur la scène économique)
Développeurs de solutions de Gestion, de Supply-Chain, GED, Traçabilité,...
Pourquoi Foxpro comme outil de développement ?
polyvalence dans le traitement des données
Commentaires
Aucun commentaire enregistré ...


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3