Comment créer un agent qui mette toutes les vues à jour aprè

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Comment créer un agent qui mette toutes les vues à jour aprè

Messagepar Anthony » 21 Mai 2003 à 16:45

Comment puis-je créer un agent qui modifie toutes les vues concernées par la modification d'une vue?avec @command([toolrefreshalldocs]) ?merci
Anthony
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar moriss » 28 Mai 2003 à 13:00

@Command([ToolRunMacro];"AgentDeRafraichissement")Dans ton agent "AgentDeRafraichissement", tu rafraichit tes vues à partir du LotusScript en utilisant les objet NotesView et NotesDatabase.Le plus simple étant de placer un bouton d'action refresh sur tes vues.
moriss
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Anthony » 28 Mai 2003 à 13:24

Merci beaucoup, mais sans vouloir abuser, je ne connais que trés peu de chose en lotus script, tu pourrais m'en dire plus sur comment créer l'agent et se qu'il doit contenir?merci beaucoup d'avoir réponduanthony
Anthony
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Raziel » 28 Mai 2003 à 14:00

Attention, je ne veux pas jouer les empécheur de tourner en rond mais cette méthode est très pénalisante pour le serveur et donc pour tous les autres users : Raffraichir les vues comme ça ne me semble pas la meilleur méthode ou alors avec un agent programmé qui tourne la nuit.Pour ce qui est du code, tu peux essayé ceciDim session as new notessessiondim db as notesdatabasedim doc as notesdocumentset db = session.currentdatabaseforall vue in db.viewsset doc = vue.getfirstdocumentend forallAttention, le temps d'éxécution peut être très long et dépasser le temps maximal imparti pour le traitement (par défaut 30 minutes)
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Raziel » 28 Mai 2003 à 14:02

Oups, petite erreur, par défaut c'est 10 minutes.
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar polo » 28 Mai 2003 à 14:56

tu dois créer un agent de type LotusScript ds ta base :le code doit ressembler a ca :-------------------------------------------Dim session As New NotesSession Dim baseCourante As NotesDatabase Dim Document As NotesDocument Dim view As NotesView Dim Masque As String On Error Goto Erreur Set baseCourante = session.CurrentDatabase set view= baseCourante.GetView("View1Arafraichir") call view.refresh() set view= baseCourante.GetView("View2Arafraichir") call view.refresh() Exit SubErreur: messagebox "Erruer !!! "Resume Next------------------------------------------tu le lances avec la command :@Command([ToolRunMacro];"Nomde l'agent");-------mais attention les rafraichissement sont des opérations qui peuvent etre couteuses s'il y a de nombreux documents dans ta vue, et si elle possèdede nombreuse colonne; cela risque de ralentir fortmement le système... il faut voir .....
polo
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Anthony » 02 Juin 2003 à 16:03

Merci beaucoup, ça m'a permis d'avancer et de faire des tests, mais malheureusement, ils ne sont pas tous concluants.Un de mes problèmes, c'est qu'une vue que je voudrais mettre à jour grâce à l'agent figure dans un masque. C'est un champ qui contient la vue, et cette dernière y figure à travers un dblookup. ok?Je sais pas si c'est ça le réel problème, car dans mon agent je met:Set view= baseCourante.GetView("(HEGpersonnesParClasses)") Call view.refresh() ("(HEGpersonnesParClasses)") = le nom de la vue qui est sélectionner dans dblookup.Je sais pas si j'ai été assez clair. J'espère.encore merci beaucoup de m'avoir fait avanceranthony
Anthony
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Anthony » 02 Juin 2003 à 16:05

Merci beaucoup, ça m'a permis d'avancer et de faire des tests, mais malheureusement, ils ne sont pas tous concluants.Un de mes problèmes, c'est qu'une vue que je voudrais mettre à jour grâce à l'agent figure dans un masque. C'est un champ qui contient la vue, et cette dernière y figure à travers un dblookup. ok?Je sais pas si c'est ça le réel problème, car dans mon agent je met:Set view= baseCourante.GetView("(HEGpersonnesParClasses)") Call view.refresh() ("(HEGpersonnesParClasses)") = le nom de la vue qui est sélectionner dans dblookup.Je sais pas si j'ai été assez clair. J'espère.encore merci beaucoup de m'avoir fait avanceranthony
Anthony
 

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Raziel » 02 Juin 2003 à 16:09

Salut,Si tu fais un dblookup, pourquoi ne pas utiliser l'option NoCache (1er paramètre du @dblookup) qui force le refresh de la vue. (ATTENTION au temps de réponse)
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: Comment créer un agent qui mette toutes les vues à jour

Messagepar Anthony » 02 Juin 2003 à 16:23

oops attend je t'arrête tout de suite...Comme je t'ai dis, je maîtrise de loin pas lotus notes et faut que j'améliore une application fait par un autre. (Super la donnée non?)Sans vouloir faire le lourd, j'ai besoin de plus d'explication sinon je vais rien comprendre.mercisi au cas, le champs qui reçoit la vue a le code suivantx:=@If(ListName=NULL;NULL;@DbLookup("" : "NoCache";"" : "";"(HEGpersonnesParClasses)";ListName;3));y:=@If (@IsError ( x ) ; NULL ; x );@Trim(y)
Anthony
 


Retour vers Développement