Page 1 sur 2

Afficher des champs contenant du textesur dans une vue

MessagePublié: 22 Juil 2011 à 07:28
par cyril08
J'ai une formule de colonne qui me concatène plusieurs champs :

Code : Tout sélectionner
tLst :=
@If( datecmas1!= ""; @Text(@Year(datecmas1))+"\\"+@Text(datecmas1) +"\\"+@Text("1" + " " +seaslt1 + chiffreaslt1+ mataslt1)+"\\"+@Text(@Implode(ASL1));"") :
@If( datecmas1_1!= ""; @Text(@Year(datecmas1_1))+"\\"+@Text(datecmas1_1)+"\\"+@Text("1" + " " +seaslt1_1 + chiffreaslt1_1+ mataslt1_1)+"\\"+@Text(@Implode(ASL2));"") :
@If( datecmas1_2!= ""; @Text(@Year(datecmas1_2))+"\\"+@Text(datecmas1_2) +"\\"+@Text("1" + " " +seaslt1_2 + chiffreaslt1_2+ mataslt1_2)+"\\"+@Text(@Implode(ASL3));"") ;
@trim(tlst)

mon texte s'affiche bien mais uniquement une partie. Est possible de réaliser cela pour voir l'intégralité?

MessagePublié: 22 Juil 2011 à 08:23
par Michael DELIQUE
salut

@implode le resultat :

@implode(@trim(tlst) )

MessagePublié: 22 Juil 2011 à 12:34
par cyril08
Michael DELIQUE a écrit:salut

@implode le resultat :

@implode(@trim(tlst) )


jai essayé cela ne fonctionne pas.

tout les champs se catégorisent les uns aprés les autres de datecmas1 à ..... à ASL3

MessagePublié: 22 Juil 2011 à 12:39
par Michael DELIQUE
tout les champs se catégorisent les uns aprés les autres de datecmas1 à ..... à ASL3


désolé j'ai rien compris ? une petite copie ecran ?

MessagePublié: 22 Juil 2011 à 12:53
par Raziel
Heu...
Vais peut être dire une bêtise mais dans une colonne de vue, lorsque l'on met le caractère "\\", domino l'interprête comme une catégorie. Non ?

MessagePublié: 22 Juil 2011 à 13:46
par cyril08
Raziel a écrit:Heu...
Vais peut être dire une bêtise mais dans une colonne de vue, lorsque l'on met le caractère "\", domino l'interprête comme une catégorie. Non ?


oui c bien cela et ce que je recherche

MessagePublié: 22 Juil 2011 à 13:51
par Raziel
Est ce que tu pourrai nous faire un "schéma" de se que tu voudrais obtenir car là je te cache pas que c'est pas clair.

MessagePublié: 22 Juil 2011 à 13:56
par cyril08
voila le pb

MessagePublié: 22 Juil 2011 à 14:00
par cyril08
voici l'attentu avec si lorsque mes champs ASL1....ASL3 contienne bcp de texte, que l'on voi l'intégralité et pas juste un début de phrase

MessagePublié: 22 Juil 2011 à 15:19
par Michael DELIQUE
re,

comme l'a dis Raziel il faut placer des // au bonne endroit dans ta formule

MessagePublié: 22 Juil 2011 à 15:25
par Raziel
Remplace :
tLst :=
@If( datecmas1!= ""; @Text(@Year(datecmas1))+"\\"+@Text(datecmas1) +"\\"+@Text("1" + " " +seaslt1 + chiffreaslt1+ mataslt1)+"\\"+@Text(@Implode(ASL1));"") :
@If( datecmas1_1!= ""; @Text(@Year(datecmas1_1))+"\\"+@Text(datecmas1_1)+"\\"+@Text("1" + " " +seaslt1_1 + chiffreaslt1_1+ mataslt1_1)+"\\"+@Text(@Implode(ASL2));"") :
@If( datecmas1_2!= ""; @Text(@Year(datecmas1_2))+"\\"+@Text(datecmas1_2) +"\\"+@Text("1" + " " +seaslt1_2 + chiffreaslt1_2+ mataslt1_2)+"\\"+@Text(@Implode(ASL3));"") ;
@trim(tlst)

Par :
tLst :=
@If( datecmas1!= ""; "("+@Text(@Year(datecmas1))+"\\"+@Text(datecmas1) +"\\"+@Text("1" + " " +seaslt1 + chiffreaslt1+ mataslt1)+"\\"+@Text(@Implode(ASL1));"")+")" :
@If( datecmas1_1!= ""; "("+@Text(@Year(datecmas1_1))+"\\"+@Text(datecmas1_1)+"\\"+@Text("1" + " " +seaslt1_1 + chiffreaslt1_1+ mataslt1_1)+"\\"+@Text(@Implode(ASL2));"")+")" :
@If( datecmas1_2!= ""; "("+@Text(@Year(datecmas1_2))+"\\"+@Text(datecmas1_2) +"\\"+@Text("1" + " " +seaslt1_2 + chiffreaslt1_2+ mataslt1_2)+"\\"+@Text(@Implode(ASL3));"")+")" ;
@trim(tlst)

MessagePublié: 22 Juil 2011 à 21:35
par roubech
@Raziel : je crois comprendre que tu essayes d'ajouter des parenthèse autour de chaque élément de la liste. Dans ce cas il faut mettre la parenthèse fermant dans le if si l'ouvrante l'est
et je ne pense pas que ça change le pb

@Cyril :
1°) vérifier que les champs concaténés sont bien des champs texte et pas des listes (seaslt1, chiffreaslt1 et mataslt1 ...
2°) à ce que je vois si tes 3 dates ne sont pas vide, tu construit une liste de 3 chaines de texte contenant des \\ pour afficher sous formes de catégories, mais à voir le résult, les 3 chaines ont l'air concaténées. donc je me demande si ta colonne est bien catégorisée et si l'option "traiter les valeurs multiple comme entrées distinctes" (de mémoire) et bien cochée

après, pour ce qui est des champs ASL1, ASL2 et ASL3, s'ils sont long (apparemment des champs multivalués que tu ramène à plat avec @Implode), c'est surement qu'il s'agit de l'info principale que tu veux afficher. dans ce cas, leur place n'est pas au niveau de la catégorie mais dans la colonne suivante par exemple. d'ailleurs, tu ne semble avoir rien mis dans la 2nde colonne
mais ca n'est pas possible ta structure de données. l'idéal aurait été d'avoir des docs séparés (j'imagine qu'on revient sur le pb des docs fils déjà évoqués)

MessagePublié: 25 Juil 2011 à 08:24
par Raziel
@Roubech : Effectivement mes parenthèses fermantes ne sont pas placé au bon endroit et devrait bien être placé dans le IF (pas facile quand on le fait à partir 'un éditeur de texte :-) ). En revanche, je pense que cela peux bien résoudre pb d'affichage (enfin du moins de ce que j'ai en pu en comprendre). Je viens de faire un test avec le forme d'écriture d'origine et celle avec les parenthèses => Le second affichage est confirme à celui présent dans le PDF

MessagePublié: 26 Juil 2011 à 10:16
par roubech
ah bon
je comprend que
A+B:C+D
est différent de
(A+B) : (C+D)
car dans le premier cas l'opérateur de liste est prioritaire et dans le second on force les concaténations avant la mise en liste
mais dans ton code, j'ai plutot l'impression que tes parenthèses font partie de la chaine de caractères
mais si tu l'as testé, je te fais confiance ... ^^

MessagePublié: 26 Juil 2011 à 10:21
par Raziel
Sauf si j'ai mal positionné mes parenthèses dans la retranscription de la formule, le test que j'ai fait était le suivant :
Dans une colonne de vue j'ai mis :

("1.\\Categ1\\SousCateg1\\Mon texte") : ("2.\\Categ2\\SousCateg2\\Mon texte") : ("3.\\Categ3\\SousCateg3\\Mon texte")