Page 1 sur 1

Agent LotusScript Mail

MessagePublié: 02 Sep 2003 à 14:58
par Julien
Bonjour,J'ai un problème avec un agent LotusScript:Chaque jour vers 7h, il scrute les documents d'une base répondant à certains critères et compare la date d'un champ avec la date du jour.Si celle ci correspond au jour, à j+7, j+30, j+90 ou j+180, un mail est envoyé au(x) destinataire(s) spécifié dans un champ.C'est aussi simple que ça.Voici ce qui ce passe réellement :1. Lorsque je teste manuellement l'agent, tout fonctionne correctement2. En mode automatique, - l'agent démarre - les documents sont scrutés et identifiés - les informations sont récupérées - la commande d'envoi de mail est executée - mais rien n'est envoyé !J'ai créé l'agent avec un Id possèdant les droits de création et exécution d'un agent sur le servuer en question.J'ai essayé de supprimer et recréer l'agent.Voici le code complet de l'agent.Merci d'avance.Sub Initialize Print "Entrée dans l'agent de suivi d'intégration" On Error Resume Next Dim s As NotesSession Dim db As NotesDatabase Dim vw As NotesView Dim coll As NotesDocumentCollection Dim doc As NotesDocument Dim mail As NotesDocument Dim NotesItem As NotesItem Dim consultant As String Dim suivi As String Dim candidat As String Dim intitule As String Dim client As String Dim affaire As String Dim message As String Dim objet As String Dim vide As String Dim dates(4) As String objet = "Suivi d'intégration" dates(0) = Today dates(1) = Today-7 dates(2) = Today-30 dates(3) = Today-90 dates(4) = Today-180 Set s = New NotesSession Set db=s.CurrentDatabase Set vw = db.getview ("(SUIVI-INTEGRATION)") ' Print "Fin initialisation, début procédures" %REM Recherche des documents correspondants à une embauche le jour courant, ouverture, envoi alerte%END REM Set coll = vw.GetAllDocumentsByKey(dates(0)) Set doc = coll.getfirstdocument Do Until doc Is Nothing REM Vérification du souhait d'un suivi d'intégration et traitement si nécessaire suivi = doc.CdtEmbauche_Suivi(0) If suivi = "Oui" Then REM Récupération des champs consultant=doc.Responsible(0) candidat=doc.CdtEmbauche_Nom(0) & " " & doc.CdtEmbauche_Prenom(0) intitule=doc.PostWording(0) client=doc.AccountName(0) affaire=doc.BusinessNumber(0) message="Aujourd'hui, " & candidat & " prend ses fonctions de " & intitule & " chez le client " & client & " dans le cadre de l'affaire n°" & affaire & ". Un suivi d'intégration ayant été demandé, merci de prendre contact avec le candidat." REM Procédure de sélection du destinataire du mail parmi les noms figurant dans le champ consultant (responsible) nbcar = Len (consultant) For i=1 To nbcar testcar=Mid$(consultant,i,1) If testcar=";" Or testcar="," Then Exit For Next consultant=Mid$(consultant,1,i-1) REM Procédure d'envoi du mail Set mail = db.createdocument 'Création d'un document mail Set notesItem = mail.ReplaceItemValue( "SendTo", consultant ) Set notesItem = mail.ReplaceItemValue( "Subject", objet ) 'Ajout des champs appropriés et attribution deleur valeur Set notesItem = mail.ReplaceItemValue( "Body", message ) Call mail.send(False) 'Envoi du mail Print "Envoi d'un mail de suivi à " & consultant & " pour le dossier " & affaire & "." End If Set doc=coll.getnextdocument(doc) Loop %REM Recherche des documents correspondants à une embauche une semaine précédent le jour courant, ouverture, envoi alerte%ENDREM Set coll = vw.GetAllDocumentsByKey(dates(1)) Set doc = coll.getfirstdocument Do Until doc Is Nothing REM Vérification du souhait d'un suivi d'intégration et traitement si nécessaire suivi = doc.CdtEmbauche_Suivi(0) If suivi = "Oui" Then REM Récupération des champs consultant=doc.Responsible(0) candidat=doc.CdtEmbauche_Nom(0) & " " & doc.CdtEmbauche_Prenom(0) intitule=doc.PostWording(0) client=doc.AccountName(0) affaire=doc.BusinessNumber(0) message="Aujourd'hui, " & candidat & " a terminé sa première semaine de travail au poste " & intitule & " chez le client " & client & " dans le cadre de l'affaire n°" & affaire & ". Un suivi d'intégration ayant été demandé, merci de prendre contact avec le candidat." REM Procédure de sélection du destinataire du mail parmi les noms figurant dans le champ consultant (responsible) nbcar = Len (consultant) For i=1 To nbcar testcar=Mid$(consultant,i,1) If testcar=";" Then Exit For Next consultant=Mid$(consultant,1,i-1) REM Procédure d'envoi du mail Set mail = db.createdocument 'Création d'un document mail Set notesItem = mail.ReplaceItemValue( "SendTo", consultant ) Set notesItem = mail.ReplaceItemValue( "Subject", objet ) 'Ajout des champs appropriés et attribution deleur valeur Set notesItem = mail.ReplaceItemValue( "Body", message ) Call mail.send(False) 'Envoi du mail Print "Envoi d'un mail de suivi à " & consultant & " pour le dossier " & affaire & "." End If Set doc=coll.getnextdocument(doc) Loop %REM Recherche des documents correspondants à une embauche une semaine précédent le jour courant, ouverture, envoi alerte%ENDREM Set coll = vw.GetAllDocumentsByKey(dates(2)) Set doc = coll.getfirstdocument Do Until doc Is Nothing REM Vérification du souhait d'un suivi d'intégration et traitement si nécessaire suivi = doc.CdtEmbauche_Suivi(0) If suivi = "Oui" Then REM Récupération des champs consultant=doc.Responsible(0) candidat=doc.CdtEmbauche_Nom(0) & " " & doc.CdtEmbauche_Prenom(0) intitule=doc.PostWording(0) client=doc.AccountName(0) affaire=doc.BusinessNumber(0) message="Aujourd'hui, " & candidat & " a terminé son premier mois de travail au poste " & intitule & " chez le client " & client & " dans le cadre de l'affaire n°" & affaire & ". Un suivi d'intégration ayant été demandé, merci de prendre contact avec le candidat." REM Procédure de sélection du destinataire du mail parmi les noms figurant dans le champ consultant (responsible) nbcar = Len (consultant) For i=1 To nbcar testcar=Mid$(consultant,i,1) If testcar=";" Then Exit For Next consultant=Mid$(consultant,1,i-1) REM Procédure d'envoi du mail Set mail = db.createdocument 'Création d'un document mail Set notesItem = mail.ReplaceItemValue( "SendTo", consultant ) Set notesItem = mail.ReplaceItemValue( "Subject", objet ) 'Ajout des champs appropriés et attribution deleur valeur Set notesItem = mail.ReplaceItemValue( "Body", message ) Call mail.send(False) 'Envoi du mail Print "Envoi d'un mail de suivi à " & consultant & " pour le dossier " & affaire & "." End If Set doc=coll.getnextdocument(doc) Loop %REM Recherche des documents correspondants à une embauche une semaine précédent le jour courant, ouverture, envoi alerte%ENDREM Set coll = vw.GetAllDocumentsByKey(dates(3)) Set doc = coll.getfirstdocument Do Until doc Is Nothing REM Vérification du souhait d'un suivi d'intégration et traitement si nécessaire suivi = doc.CdtEmbauche_Suivi(0) If suivi = "Oui" Then REM Récupération des champs consultant=doc.Responsible(0) candidat=doc.CdtEmbauche_Nom(0) & " " & doc.CdtEmbauche_Prenom(0) intitule=doc.PostWording(0) client=doc.AccountName(0) affaire=doc.BusinessNumber(0) message="Aujourd'hui, " & candidat & " a terminé son troisième mois de travail au poste " & intitule & " chez le client " & client & " dans le cadre de l'affaire n°" & affaire & ". Un suivi d'intégration ayant été demandé, merci de prendre contact avec le candidat." REM Procédure de sélection du destinataire du mail parmi les noms figurant dans le champ consultant (responsible) nbcar = Len (consultant) For i=1 To nbcar testcar=Mid$(consultant,i,1) If testcar=";" Then Exit For Next consultant=Mid$(consultant,1,i-1) REM Procédure d'envoi du mail Set mail = db.createdocument 'Création d'un document mail Set notesItem = mail.ReplaceItemValue( "SendTo", consultant ) Set notesItem = mail.ReplaceItemValue( "Subject", objet ) 'Ajout des champs appropriés et attribution deleur valeur Set notesItem = mail.ReplaceItemValue( "Body", message ) Call mail.send(False) 'Envoi du mail Print "Envoi d'un mail de suivi à " & consultant & " pour le dossier " & affaire & "." End If Set doc=coll.getnextdocument(doc) Loop %REM Recherche des documents correspondants à une embauche une semaine précédent le jour courant, ouverture, envoi alerte%ENDREM Set coll = vw.GetAllDocumentsByKey(dates(4)) Set doc = coll.getfirstdocument Do Until doc Is Nothing REM Vérification du souhait d'un suivi d'intégration et traitement si nécessaire suivi = doc.CdtEmbauche_Suivi(0) If suivi = "Oui" Then REM Récupération des champs consultant=doc.Responsible(0) candidat=doc.CdtEmbauche_Nom(0) & " " & doc.CdtEmbauche_Prenom(0) intitule=doc.PostWording(0) client=doc.AccountName(0) affaire=doc.BusinessNumber(0) message="Aujourd'hui, " & candidat & " a terminé son sixième mois de travail au poste " & intitule & " chez le client " & client & " dans le cadre de l'affaire n°" & affaire & ". Un suivi d'intégration ayant été demandé, merci de prendre contact avec le candidat." REM Procédure de sélection du destinataire du mail parmi les noms figurant dans le champ consultant (responsible) nbcar = Len (consultant) For i=1 To nbcar testcar=Mid$(consultant,i,1) If testcar=";" Then Exit For Next consultant=Mid$(consultant,1,i-1) REM Procédure d'envoi du mail Set mail = db.createdocument 'Création d'un document mail Set notesItem = mail.ReplaceItemValue( "SendTo", consultant ) Set notesItem = mail.ReplaceItemValue( "Subject", objet ) 'Ajout des champs appropriés et attribution deleur valeur Set notesItem = mail.ReplaceItemValue( "Body", message ) Call mail.send(False) 'Envoi du mail Print "Envoi d'un mail de suivi à " & consultant & " pour le dossier " & affaire & "." End If Set doc=coll.getnextdocument(doc) Loop Print "Fin du programme" End Sub

Re: Agent LotusScript Mail

MessagePublié: 03 Sep 2003 à 12:55
par Raziel
Salut,je ne sais pas si cela va faire avancer le smilblick, mais essaie de remplacerCall mail.send(False) 'Envoi du mailparCall mail.send(False, consultant) 'Envoi du mail

Re: Agent LotusScript Mail

MessagePublié: 03 Sep 2003 à 13:22
par Albator
J'ai eu le même problème (cf 18/08)En fait, Droad m'avait donné la réponse : mettre dans une liste ceux qui vont recevoir le mail, pas dans une stringdim tmpList(0) as stringtmpList(0) = consultantSet notesItem = mail.ReplaceItemValue( "SendTo", tmpList ).