Paramétrage d'un agent programmée

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

Paramétrage d'un agent programmée

Messagepar cyril08 » 18 Juil 2011 à 14:26

Bonjour, je seche sur la programmation d'un agent qui envoi un mail tous les trois mois avec un extrait de docs à un groupe de destinataire.

Dans mon agent, j'ai une formule simple @sendmail(......).

Je n'arrive pas a paramétré un envoi trimestrielle????
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Raziel » 18 Juil 2011 à 14:30

Bonjour,

En natif tu ne peux pas... Tu peux au maximum descendre à la semaine de mois.Une solution serait d'enregistrer la date de la dernière exécution et de tester au démarrage de l'agent si le temps écoulé est bon ou pas .
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

Messagepar cyril08 » 18 Juil 2011 à 14:34

Raziel a écrit:Bonjour,

En natif tu ne peux pas... Tu peux au maximum descendre à la semaine de mois.Une solution serait d'enregistrer la date de la dernière exécution et de tester au démarrage de l'agent si le temps écoulé est bon ou pas .



et comment je dois mi prendre pour implanter que pour tel numéro de semaine, l'agent s'exécute
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 18 Juil 2011 à 14:36

salut

autre solution, tu remplace la formule par du Lotus script. a chaque déclenchement de l'agent en début de mois (par exemple) tu vérifie que le mois est un mois ou tu lance l'agent.

si oui mail sinon rien
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Raziel » 18 Juil 2011 à 14:37

Tu peux le faire facilement en stockant dans un document de paramétrage par exemple l'ensemble des semaines où l'agent doit s'éxécuter. Ensuite ton agent tourne régulièrement (1 fois par semaine par exemple), récupère le N° de la semaine courante, vérifie s'il correspond à une semaine paramétré... et voilà
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

Messagepar cyril08 » 19 Juil 2011 à 08:02

Raziel a écrit:Tu peux le faire facilement en stockant dans un document de paramétrage par exemple l'ensemble des semaines où l'agent doit s'éxécuter. Ensuite ton agent tourne régulièrement (1 fois par semaine par exemple), récupère le N° de la semaine courante, vérifie s'il correspond à une semaine paramétré... et voilà


ok,

dans mon doc jai mi un champ MaDate calculé via @now. Grace a ce champ je calcule mon numero de semane "MaSemaine" via
Code : Tout sélectionner
wkd1 := @Weekday(MaDate);
WB := @Adjust(MaDate; 0; 0; -@If(wkd = 1; 0; wkd1 - 1); 0; 0; 0);
jan1 := @Date(@Year(MaDate);1; 1);
wkd2 := @Weekday(jan1);
tYB := @Adjust(jan1; 0; 0; -@If(wkd2 = 1; 0; wkd2 - 1); 0; 0; 0);
YB := @If(tYB <= @Date(@Year(tYB); 12; 28); @Adjust(tYB; 0; 0; 7; 0; 0; 0); tYB);
jan1last := @Date(@Year(MaDate) - 1; 1; 1);
wkd3 := @Weekday(jan1last);
tYBlast := @Adjust(jan1last; 0; 0; -@If(wkd3 = 1; 0; wkd3 - 1); 0; 0; 0);
YBlast := @If(tYBlast <= @Date(@Year(tYBlast); 12; 28); @Adjust(tYBlast; 0; 0; 7; 0; 0; 0); tYBlast);
FirstSemaine := @If(MaDate < YB; YBlast; YB);
Semaine := @Right("0" + @Text((((WB - FirstSemaine) / 86400) / 7) + 1); 2);
Annee := @Text(@Year(@Adjust(FirstSemaine; 0; 0; 3; 0; 0; 0)));
Semaine


aprés ensuite je ne vois pas comment le déclencher si par exemple mon MaSemaine = 10

suis je obligé de passer par un doc profile
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar cyril08 » 19 Juil 2011 à 08:03

un doc param pardon!!
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Raziel » 19 Juil 2011 à 08:14

Le doc de param, ou un doc de profil peu importe, te permettra de stocker tous les numéro de semaine pour lesquels l'agent doit exécuter son traitement.

Cocnernant l'exécution de lagent même, si tu est sur une périodicité d'une semaine, moi je ferai touner mon agent toutes les semaines et l'une des première ligne de code vérifiera si la semaine courante (celle où s'exécute l'agent) correspond à une semaine renseigné dans le doc de param (ou de profil)
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


Retour vers Développement

cron