Page 3 sur 4

Publié:
23 Juin 2011 à 10:39
par roubech
si je reprend ton code pour te l'expliquer :
tLkp := @DbLookup( ""; ""; "(essai)"; "suivresurlelongterme"; [ReturnDocumentUniqueID]);
le dblookup cherche dans une vue qui s'appelle "(essai)"
pour trouver le ou les docs dont la valeuir de la 1ère colonne est "suivresurlelongterme"
et te retourne une liste avec les UNID des docs trouvés
si un seul résultats, une seul valeur retournée
si aucun doc ne correspond à la recherche, @IsError(tLkp) est vrai ...
maintenant pour vérifier que c'eset bien ce qu'il te faut pour répondre à ton besoin, tu peux ouvriri la vue en question est voir si ton doc apparait bien avec la bonne valeur
si ce n'est pas le cas, c'est que c'était pas la bonne vue à utiliser ou pas la bonne clé à passer pour faire la recherche

Publié:
23 Juin 2011 à 10:44
par cyril08
roubech a écrit:je crois que le pb vient du fait que tu ne comprend pas comment fonctionne le DbLookup et que tu l'a recopié tel quel sans l'adapter à ton cas de figure
"catégorisé sur une colonne via une concaténation de plusieurs de mon masque"
tu dis que ta vue est catégorisée. La 1ere colonne, si elle est catégorisée est donc bien implicitement triée
par contre, on ne doit pas parler de la même chose, car je pensais que tu faisait un DbLookup dans une vue qui n'affiche que l'unique document concerné.
Or tu parles là d'une vue qui semble afficher tous les docs et dont la 1ère colonne semble avoir pour formule Form et est catégorisée
non ma vue affiche uniquement un doc par contre je ne savais pas que c'était considérer comme trié.
J'ai fait un nouveau test, je pense ne pas etre loin. (J'ai oublié l'histoire d'une vue caché)
dans mon bouton de ma vue active j'ai :
- Code : Tout sélectionner
tLkp := @DbLookup("":"";"";"X";"";"tLst";[ReturnDocumentUniqueID]);
@If(@IsError(tLkp);@Command([Compose]; "masque");@Command([OpenDocument];"";tLkp))
donc ici ma clé est le tLst qui est la concaténation de tout mes champs affichable dans ma colonne 1.[/quote]

Publié:
23 Juin 2011 à 10:57
par roubech
il serait peut-être préférable que tu reprenne au début en décrivant clairement
la vue qui est utilisée pour le dbLookup
son nom
sa formule de selection
ses colonnes
en peu dans le genre de mon post ci-dessous
roubech a écrit:Si par exemple, tu as un masque Config pour stocker quelques paramètres de ta base. Tu as besoin d'avoir un seul document basé sur ce masque. Tu fait donc une vue cachée ($Config)
Dans un bouton d'action de cette vue ou dans un agent tu peux mettre une formule de ce genre
[syntax="Formula"]tLkp := @DbLookup( ""; ""; "($Config)"; "Config"; RETURNDOCUMENTUNIQUEID );
@If( @IsError(tLkp);
@Command([Compose]; "Config");
@Command([OpenDocument]; ""; tLkp)
)[/syntax]
sinon, pour trier une vue, en générale tu va dans la première colonne, 2ème onglet et tu coche "ascendant" ou "descendant" pour le tri, c'est juste à côté de catégoriser

Publié:
23 Juin 2011 à 11:05
par cyril08
ma vue : X , c'est la que se situe mon bouton
elle ne contient qu'une colonne : colonne catégorisé avec un tri croissant contenant une formule de type concaténation tLst := ....:....:....:....; @trim(tLst)
formule de sélection de ma vue : via un plan avec lien vers élément nommé
dans mon bouton j'ai le code suivant :
- Code : Tout sélectionner
tLkp := @DbLookup("":"";"";"X";"";"tLst";[ReturnDocumentUniqueID]);
@If(@IsError(tLkp);@Command([Compose]; "Y");@Command([OpenDocument];"";tLkp))

Publié:
23 Juin 2011 à 12:42
par cyril08
je comprend pas cela a fonctionné une fois et mainteannt plus moyen. C'est incompréhensible avec la config ci dessus

Publié:
23 Juin 2011 à 13:24
par roubech
1°) "formule de sélection de ma vue : via un plan avec lien vers élément nommé "
tu confond le lien que tu met dans ton plan qui te sert de menu pour que l'utilisateur accède à la vue
et le formule de selection qui est une propriété de la vue qui permet de définir quels sont les documents qui sont listés par la vue
2°) tu déclares une variable locale tLst au niveau de ta colonne de vue
dans la formule du bouton, tu utilises la chaine de texte "tLst". si tu pensais utiliser la variable, il ne fallait pas mettre les guillements
Mais de toute façon, si tu ne déclare pas cette variable au niveau du bouton, il ne faut pas espérer que la formule du bouton (qui dépend de la vue) peut réutiliser une variable instanciée au niveau d'une colonne (qui dépend de chaque doc)

Publié:
23 Juin 2011 à 13:41
par roubech
si tu ne comprend pas
tu peux reprendre du début en créant une nouvell base avec
une masque : MasqueSuivi
une vue : VueSuivi
dont la formule de selection est : @Select Form = "MasqueSuivi" (pour n'afficher que les docs créés à partir de ce masque)
avec une colonne triée dont la formule est : Form (pour afficher la valeur du champ Form pour chacun des docs)
et un bouton d'action avec la formule :
[syntax="Formula"]tLkp := @DbLookup( "":"NoCache"; ""; "VueSuivi"; "MasqueSuivi"; RETURNDOCUMENTUNIQUEID );
@If( @IsError(tLkp);
@Command([Compose]; "MasqueSuivi");
@Command([OpenDocument]; ""; tLkp)
)[/syntax]

Publié:
23 Juin 2011 à 13:41
par roubech
cyril08 a écrit:des champs amené a etre modifié chaque mois ou semaine.
qui et comment ce doc doit-il être mis à jour ?
qui doit le consulter ? comment ? via une vue ou tu peux mettre un bouton directement dans le plan
si c'est mis à jour que très rarement, tu peux utiliser un doc profil

Publié:
23 Juin 2011 à 14:11
par cyril08
roubech a écrit:cyril08 a écrit:des champs amené a etre modifié chaque mois ou semaine.
qui et comment ce doc doit-il être mis à jour ?
qui doit le consulter ? comment ? via une vue ou tu peux mettre un bouton directement dans le plan
si c'est mis à jour que très rarement, tu peux utiliser un doc profil
ce doc doit etre mis à jour via le bouton dont on parle depuis le debut du post. au niveau de la consultation j'ai un groupe d'accès qui est intégrer dans la formule de masquage du bouton. la modification doit se faire via une vue avec le fameux bouton dont on parle depuis le début.

Publié:
23 Juin 2011 à 14:19
par cyril08
je viens d'appliquer exactement tes conseils cela ne fonctionne pas.
la formule select from ="ma vue" est celle que j'utilise.

Publié:
23 Juin 2011 à 16:00
par roubech
cyril08 a écrit:roubech a écrit:cyril08 a écrit:des champs amené a etre modifié chaque mois ou semaine.
qui et comment ce doc doit-il être mis à jour ?
qui doit le consulter ? comment ? via une vue ou tu peux mettre un bouton directement dans le plan
si c'est mis à jour que très rarement, tu peux utiliser un doc profil
ce doc doit etre mis à jour via le bouton dont on parle depuis le debut du post. au niveau de la consultation j'ai un groupe d'accès qui est intégrer dans la formule de masquage du bouton. la modification doit se faire via une vue avec le fameux bouton dont on parle depuis le début.
ma question était plutot fonctionnellemnt, qu'est ce que le client attend. plutot que comment toit tu as imaginé l'implémenter. Pour voir pour te propose une autre approche basée sur les doc profil
tu n'as rien répondu à ce sujet. Est-ce que tu connais les doc profil ?

Publié:
23 Juin 2011 à 16:43
par cyril08
oui je connais. je te remercie mais je vais passer outre cette fonctionnalité cela me prend trop de temps et à vous aussi. Je masque le bouton composer aux utilisateurs, seul les admins l'on en visu.
par contre avec @command([ToolsRunMacro];"") on peut appliquer un agent. Est ce qu'il existe qqchose dans les @command pour les Actions car je n'ai rien trouvé.

Publié:
23 Juin 2011 à 16:52
par roubech
Normalement j'essaye de répondre sans lancer mon client Notes à la maison, mais là tu m'a mis le doute. Donc voici la base test que je t'ai décrite et ça fonctionne
Mais en relisant ton message :
cyril08 a écrit:je viens d'appliquer exactement tes conseils cela ne fonctionne pas.
la formule select from ="ma vue" est celle que j'utilise.
je me rend compte que tu t'es trompé dans la formule de selection de la vue, alors que j'ai explicitement nommé le masque et la vue pour pas qu'il n'y ai de confusion

Publié:
23 Juin 2011 à 16:59
par roubech
cyril08 a écrit:avec @command([ToolsRunMacro];"") on peut appliquer un agent. Est ce qu'il existe qqchose dans les @command pour les Actions car je n'ai rien trouvé.
je ne comprend pas bien ? tu cherches un @Command pour lancer une action ? quelle action ? une action d'un masque? d'une vue? d'un plan ? une action partagée ?
on met plutot le code dans un agent et si on veut l'appeler depuis une action d'une vue on utilise @Comment([ToolsRunMacro]; "Agent")
et au passage pour les agent, on paler plutot de lancer un "agent", plutot que "appliquer". Appliquer sous entend qu'on a choisit "les docs sélectionnés" dans les propriétés de l'agent, ce qui n'est pas toujours le cas

Publié:
23 Juin 2011 à 19:03
par cyril08
Ba l'agent je veux le déclencher via un bouton mais il ne démarre pas. J'ai tjs un message d'erreur mais c sûrement du au faite que je rentre mal les propriété de lagent.