Page 1 sur 1
envoi de relance par agent

Publié:
06 Sep 2011 à 14:41
par Steph_
Bonjour
j'ai un petit souci
je dois envoyer des relances à des utilisateurs, j'ai un masque dans lequel je récupère le groupe de l'ensemble du personnel, et je fais une soustraction entre ceux dont j'ai déjà la fiche créée dans ma base, et j'envoie une relance aux autres.
Jusque là tout va bien.
le problème c'est que je veux envoyer UN mail à CHAQUE utilisateur, et que j'envoie autant de mail que d'utilisateur à chaque utilisateur, je sais pas si c'est clair ...
en gros je veux envoyer un mail à 100 personnes
et mon agent envoi 100 mails à 100 personnes
et c'est un agent tout balot en action simple
j'envois le courrier, et je calcule la liste des destinataires comme ça
@Unique(@DbColumn("";"":"";"$All";1))
la vue $All ne m'affiche que les fiches manquantes
je vois pas du tout où ça peut clocher
z'auriez pas une idée ?

Publié:
06 Sep 2011 à 14:45
par Michael DELIQUE
salut
tu dois te planter sur la formule de selection des destinataires

Publié:
06 Sep 2011 à 14:48
par Steph_
bah je sais pas
ça envoie quand même aux bonnes personnes, le problème c'est que ça envoie tout ...

Publié:
06 Sep 2011 à 14:49
par Raziel
La formule suivante :
@Unique(@DbColumn("";"":"";"$All";1))
alimente ton champ des destinataires ?
Si c'est lecas, c'est normal.
Ce qu'il faut c'est que tu boucle sur le résultat du dbcolumn afin d'envoyer à chaque user.
Le plus simple serait de la faire en lotusscript plutôt qu'en formule.

Publié:
06 Sep 2011 à 14:54
par Steph_
je me doutais bien qu'on allait me répondre ça
mais pourquoi ça boucle ?
c'est juste une liste de noms

Publié:
06 Sep 2011 à 14:57
par Raziel
tu peux donner tous le code de ton agent ?

Publié:
06 Sep 2011 à 15:04
par Steph_
il n'y a pas de code, je l'ai fait en action simple pour voir si c'était réalisable
l'action c'est "Envoyer le courrier"
la formule de sélection pour l'adressage c'est celle que j'ai donné plus haut
et la sélection de doc c'est "Utilise le masque "fiche""

Publié:
06 Sep 2011 à 15:09
par Michael DELIQUE
salut
je paris que la cible de ton agent c'est "tout les documents selectioné"

Publié:
06 Sep 2011 à 15:14
par Steph_
non
tous les docs nouveaux et modifiés
je n'ai pas trop l'habitude des agents
quand on veut planifier on a très peu de choix

Publié:
06 Sep 2011 à 15:14
par Raziel
Ca serait tellement plus simple en script...


Publié:
06 Sep 2011 à 15:17
par Steph_
je veux bien le faire en script, si on me met sur la voie

Publié:
06 Sep 2011 à 15:23
par Raziel
Voici une fonction faisant l'envoi de mail
- Code : Tout sélectionner
Sub SendMail (Expediteur As String, Destinataires As Variant, Sujet As String, Corps As String)
Dim session As New notessession
Dim dbMailBox As notesdatabase
Dim docMail As NotesDocument
Dim body As NotesRichTextItem
If session.IsonServer Then
Set dbMailBox = session.getdatabase("", "mail.box", False)
Else
Set dbMailBox = session.getdatabase(session.currentdatabase.server, "mail.box", False)
End If
Set docMail = New notesdocument(dbMailBox)
Call docMail.replaceitemvalue("Form", "Memo")
Call docMail.replaceitemvalue("From", Expediteur)
Call docMail.replaceitemvalue("SendTo", Destinataires)
Call docMail.replaceitemvalue("Recipients", Destinataires)
Call docMail.replaceitemvalue("PostedDate", Now)
Call docMail.replaceitemvalue("Subject", Sujet)
Set body = New NotesRichTextItem (docMail, "Body")
Call body.AppendText(Corps)
Call docMail.Save(True, True, True)
End Sub
Ne reste plus qu'à boucler sur les doc de ta vue Tous documents et d'appeler la fonction

Publié:
06 Sep 2011 à 15:25
par Steph_
envoyer le mail j'aurais su faire, c'est boucler qui me pose problème
en théorie y'a pas de souci, c'est la pratique qui me pose problème

Publié:
06 Sep 2011 à 15:25
par Michael DELIQUE

Publié:
06 Sep 2011 à 15:27
par Steph_
ok merci m'sieur