Page 1 sur 2

Recalculer les champs des doc selectionnés depuis une vue

MessagePublié: 17 Fév 2010 à 17:15
par clementbp
Bonjour.

Je souhaiterais avoir un agent qui me permette de recalculer les champs qui sont dans mon masque sans etre obligé d'ouvrir le document, de le modifier et de l'enregistrer de manière manuelle.
Pour le moment j'ai 1 seul champ a recalculer mais il est possible que par la suite j'en ai plusieurs.

J'ai essayé d'utiliser le @Command([ViewRefreshFields]) mais je ne trouve nul part d'exemple pour comprendre la manière de l'utilisé et la synthaxe à adopter.

Pourriez vous m'aider s'il vous plait ?

MessagePublié: 17 Fév 2010 à 17:27
par Michael DELIQUE
salut

un agent qui tourne sur tout les document selectionné

tu colle la formule @Command([ViewRefreshFields])

et tu le lance depuis la vue

MessagePublié: 17 Fév 2010 à 17:46
par clementbp
salut.

J'avais déja essayé ça mais j'ai un message d'erreur qui apparait à chaque fois; Je te l'ai mis en pièce jointe.

Par contre quand je met "@Command([ViewRefreshFields])" dans mon agent et uniquement je l'enregistre et je le ferme, quand je le réouvre il me mets

@Command([ViewRefreshFields]);
SELECT @All

est ce que c'est normal ou est ce que je fais ça anormalement

merci

MessagePublié: 17 Fév 2010 à 18:46
par nemrod93
Salut
Dans les propriétés de l'agent, 1er onglet, zone Exécution, option déroulante cible, sélectionner "Aucune"

en espérant que cela résolve ton problème

cdlt

alain

MessagePublié: 18 Fév 2010 à 09:55
par clementbp
Merci nemrod93,

Après avoir modifier la zone Execution, je n'ai plus le message d'erreur.

Par contre pour le @Command([ViewRefreshFields]), je ne sais pas trop pourquoi mais il n'a pas recalculé la valeur dans mon masque.

Je me suis débrouillé en mettant dans mon agent :

@Command([OpenDocument]);
@Command([EditDocument]);
@Command([FileSave]);
@Command([CloseWindow])

Par contre j'aurais besoin de compléter ce code pour que mon agent s'exécute sur tous les documents réponses du document principal.

Je pense qu'il faut utiliser un @AllChildren mais apès pour la syntaxe ????


Si quelqu'un a une idée ce serait gentil merci !

MessagePublié: 18 Fév 2010 à 10:05
par Michael DELIQUE
salut

je viens de reagrder sur une de mes bases

je n'utilise que cette commande : @Command([ToolsRefreshAllDocs]);

MessagePublié: 18 Fév 2010 à 11:16
par nemrod93
Salut

Oui Mickaël a raison

cdlt

Alain

MessagePublié: 18 Fév 2010 à 12:00
par clementbp
Merci beaucoup

Ca marche tip top avec la commande @Command([ToolsRefreshAllDocs])

C'est super sympa

A bientot

MessagePublié: 18 Fév 2010 à 13:24
par nemrod93
Peux-tu placer le flag résolu sur ton post

cdlt

Alain

MessagePublié: 18 Fév 2010 à 15:14
par clementbp
Aie Aie Aie

J'ai encore un problème, mais cette fois ci c'est un problème de droit.

En fait avec mon ID je n'ai aucun soucis mon agent fonctionne correctement.
Par contre quand je prend l' ID d'un utilisateur lambda, mçon agent ne fonctionne plus.

Je suppose que c'est un problème de droit car étant administrateur, j'ai les droits de modification sur tous les documents, qu'ils soient terminés ou non, par contre un utilisateur n'a pas de droit de modif sur les doc terminés.

Auriez vous une solution me permettant de donner temporairement des droits admin ou simplement de modif sur tous les documents pendant l'exécution de l'agent ?

Merci

MessagePublié: 18 Fév 2010 à 15:18
par Michael DELIQUE
salut

soit tes document on un role qui donne l'acces en écriture et tu afect le role a l'utilisateur.

soit tu passe par du Ls et un runonserveur (pour peut que le serveur est les droit suffisant)

par contre si tu dois donner temporaire les droit a un utilisateur c'est que la base est mal concu ou que c'est aps le bon utilisateur

MessagePublié: 09 Mars 2010 à 11:49
par clementbp
Bonjour à tous

J'ai modifié un peu ma façon de faire pour résoudre ce problème.

Donc mon agent fonctionne toujours bien et je voudrait le lancer en direct sur le serveur avec les droits du serveur.

J'ai donc dans ma vue un bouton d'action qui devrait me permettre de faire cela.

J'ai un code qui marche (celui ne s'effectue pas sur le serveur mais c'était pour le test):

@Command([ToolsRunMacro];"AgentRecalculVueECHReunionPH")


Par contre il y a une fonction qui est @Command([AgentSetServerName] et qui je pense devrait faire ce que je souhaite.

Par contre il me mets le message d'erreur que vous pourrez voir en pièce jointe.

Je ne comprend pas ou je peut lui faire comprendre qu'il execute l'agent en arrière plan.

Pourriez vous m'aider s'il vous plait.

Merci

MessagePublié: 09 Mars 2010 à 11:55
par Michael DELIQUE
salut,

ben oui, ton agent ne doit pas etr schédulé.

par contre pour ne pas faire tout simplement en runonserver en ls ?

MessagePublié: 09 Mars 2010 à 12:04
par clementbp
Ben si ca marche en lotus script je le fait mais j'ai aucune idée de la syntaxe a utiliser.

Si tu as une idée !

MessagePublié: 09 Mars 2010 à 12:18
par Michael DELIQUE
re,

regarde à notesAgent.RunOnServer sur l'aide en ligne tu aurra toute ce qu'il faut