Bonjour,
Je lance une bouteille à la mer, peut-être que quelqu'un pourra m'aider, je suis désespérée...
Voilà mon problème :
Tant bien que mal, j'ai créé une "armée" de caissons dynamiques. Il y en a beaucoup et de toute sorte
avec un ou plusieurs tiroirs, des portes simples/doubles, etc.
Bref, pour le bon fonctionnement de mes caissons j'ai appliqué des noms différents (Définition) à mes pièces et chaque pièce à un programme dédié que j'ai mis sous forme de Tag.
J'ai essayé de garder une certaine logique, tous mes noms commencent par un numéro pour essayer de les regrouper:
ex :
les dessous commencent par 01 ou 02 (ex: 01B.Dessous+700#2P ou 02B.Dessous#1Pd)
les dessus par 03 (ex: 03B.Dessus#2Ti)
les côtés par 04 (ex: 04B.CoteG#2Tr) et ainsi de suite...
La où ça se complique c'est que mon patron voudrait que j'arrive à faire un tri "automatique" dans OCL qui est impossible selon moi. (Pour lui un tri manuel n'est pas envisageable, c'est à moi de trouver une solution mais là je sèche...)
Il voudrait regrouper par "type de pièces" c'est à dire que tous les dessous soient à la suite les uns des autres(peu importe l'ordre de la dénomination tant que c'est un dessous), puis tous les dessus, puis tous les côtés, etc. mais dans chacune de ces catégories il voudrait que ce soit classé par largeur de la plus grande à la plus petite puis la longueur...
Cependant, dans le tri des pièces si je privilégie "la désignation" et ensuite "la largeur"...je me retrouve à devoir trier manuellement toutes les pièces dans Excel pour que au sein des "dessous" ce soit la largeur qui prime et pas le nom...
Si je mets la largeur, la longueur et ensuite la dénomination je n'ai plus mes pièces regroupées par type... il faut trier manuellement...
Du coup j'ai essayé un tri par tag en reportant le numéro de ma catégorie mais ça ne marche pas non plus...
J'ai mis en pièce jointe le résultat de ce ce je voudrais obtenir...
Peut-être que j'ai un problème de conception, je ne sais pas comment faire...
Je vous remercie d'avance
Calie
1 réponse
Salut,
Ha les patrons ...
De ce que je comprends, tu veux ajouter une nouvelle info sur chaque pièce et regrouper dessus. En effet, le tri n'es pas prévu pour fonctionner comme ça avec des champs personnalisés.
Pour que ça fonctionne dans la désignation, il faut que le terme "Dessous", "Coté", etc ... soit le premier mot.
Dessous.1H#Pd
Sauf que si le patron te demande après de trier sur le numéro du caisson t'es comme un con pareil.
Pour ce qui est du tri sur les "Tags" (au sens tag OCL) c'est pareil, il faut que le terme que tu souhaites utiliser pour qu'il "regroupe" soit le premier de la liste.
Pour ça, tu peux utiliser le fait que la liste des tags OCL est triée par ordre alphanumérique.
123 > 1aa > aaa > zzz
Mais qui dit tri alphanimérique dit que le nombre de caractère a de l'importance dans la fonction de comparaison. Et donc si tu veux garder l'entourloupe, il faut que tous les mots fassent la même taille même si pour ça tu combles avec des "---" pour pas que les autres tags suivant viennent perturber ce que tu attends du tri.
Mais le plus commode serait de filtrer tout simplement sur les Tags. Ainsi sur le groupe de pièces filtrées, tu peux avoir le tri que tu veux et faire un tri différent d'un filtre à l'autre.
Le soucis c'est que tu n'as pas tout dans la même liste et que chaque filtrage se fait manuellement.
La v4.0 pourra peut-être t'aider. Pke l'export sera programmable et on pourra jouter les colonnes que l'on veut avec des valeurs calculées par du code ruby personnalisé. Donc tu pourras ajouter une colonne "type de pièce" qui ira regarder s'il y a dessus, dessous, etc dans le nom ou dans un tag pour n'extraire que ça. Ensuite dans Excel tu sauras plus facilement trier.