PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → question technique
question technique
Iniciado por remi.matayron, mar., 28 2006 11:36 AM - 6 respostas
Publicado em março, 28 2006 - 11:36 AM
J'ai un organigramme dynamique à créer sous Webdev. Le choix des outils est libre.

Je possède une table employé avec un champs "chef" qui est lui même un employé. (il peut y avoir récursivité.
Je veux seulement les 3 premiers niveaux à partir du haut (c'est à dire de la personne qui ne possède pas de chef).
Mais il est aussi envisageable que je parte du bas (pas top!).


Quelqu'un a t'il une idée sur la chose et comment faire! N'hésitez pas pke je suis pas trop inspiré par la chose...

Merci d'avance.
Publicado em março, 28 2006 - 4:22 PM
Bonjour,
Pour gérer ces 3 niveaux, il suffit selon les cas soit de rajouter dans la table employé un champ "Niveau" s'il n y a qu un service, soit de rajouter 2 champs contenant l'ID du chef du niveau concerné pour le service concerné, soit encore de créer une table "Service" liée à la table employé, avec pour chaque service un champ contenant l'ID du chef de niveau1,et un autre contenant l'ID de chef de niveau2, etc - j'espère que ces pistes vous inspireront...
P.S. : pour moi, il ny a pas veritablement récursivité ici...
Publicado em março, 28 2006 - 4:23 PM
Re-bonjour,
autre possibilité, sans modifier la structure des données :
En partant du haut:
Le chef "suprême" est celui dont le champ "chef" est vide (ou contient son propre ID) - a rechercher en priorité, mettre son ID en ref1, puis chercher pour chaque employé (ref2)ayant cet ID comme chef, tous les employés qui ont ref2 comme chef, etc.
En partant du bas, il faut placer en ref1 l'ID de l'employé considéré, chercher son chef (placer son ID en ref2), regarder si celui-ci à lui-meme un chef (placer l'Id du chef en ref3 ds ce cas), etc
Publicado em março, 28 2006 - 6:03 PM
Je me suis mal exprimé.
Cette structure est déja correctement établie et j'arrive à repérer qui est le chef de qui et de quoi et qui est le méga chef (qui est celui qui n'a pas de chef).

Seulement je demandais si quelqu'un avait une idée de présentation optimale.

Pke j'ai :
Mega chef
chef1 chef2 chef3 chef4 chef5
souschef1 ....


Quoi utiliser!!!
est ce faisable avec un état ou une page.
Dans le cas d'une page, est il préférable d'utiliser une liste, une table...

comment doit se présenter ma requete de selection du dernier niveau
Publicado em março, 28 2006 - 8:30 PM
oui, c'est faisable avec un etat ou une page, par programmation, ou en utilisant les ruptures (pour le détail voir l'aide); si tu as beaucoup de chefs et sous-chef, une présentation graphique risque d'être compliquée en terme de mise en page, c'est plus simple sous forme de liste:

GRAND MANITOU :

DEMI-DIEU1:

CHEFAILLON1:

NOEUD-NOEUD1
NOEUD-NOEUD2
CHEFAILLON2:

NOEUD-NOEUD3


DEMI-DIEU2:
CHEFAILLON3:
etc etc
Pour ce qui est de la "requête de dernier niveau", je ne procéderais pas ainsi, mais plutôt
par programmation, au besoin en remplissant un fichier intermédiaire, mais à toi de voir avec quoi tu es le plus à l'aise...
P.S. : je n'ai peut-être encore pas compris ta question?
Publicado em março, 28 2006 - 10:44 PM
Dernier point, si tu tiens à passer par les requêtes, tu peux utiliser les ruptures et un état dans l'état, basé sur une requete à laquelle tu passes en parametres l'ID du niveau supérieur...
Publicado em março, 29 2006 - 11:03 AM
Voila, impeccable, c'est ça que je voulais savoir.
Merci pour les tuyaux, c'est pas bête..