Précédent   Forum du club des développeurs et IT Pro > Logiciels > Solutions d'entreprise > Lotus Notes
Lotus Notes Forum d'entraide sur le logiciel de travail collaboratif Lotus Notes
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/07/2012, 15h46   #1
tricatel
Invité de passage
 
Homme tric atel
Analyste d'exploitation
Inscription : juillet 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme tric atel
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Analyste d'exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : juillet 2012
Messages : 2
Points : 0
Points : 0
Par défaut Agent Notes lotusscript recupération du champs principal

Bonjour,

je sèche sur un problème de récupération de l'expéditeur d'un mail (vide systématiquement lorsque l'agent tourne en tâche de fond) alors qu'a priori cela fonctionne en interactif.

le code est le suivant, je n'ai mis que les parties intéressantes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub Initialize
	
	
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim coll As NotesDocumentCollection
	Dim doc As NotesDocument
	Dim docProfile	As NotesDocument
(...)
        Dim env As Variant
	Dim oset As Boolean

	Do Until(doc Is Nothing)	
		dest =doc.SendTo(0)
		'env=doc.principal(0)
		
		oset=False
		
		If (doc.from(0) <> "") Then
			env = doc.from(0)
			Messagebox("1 " +env)			
			oset = True
		End If
		
		If ( (oset =False) And (doc.principal(0) <>"") ) Then
			env = doc.principal(0)
			Messagebox("2 " +env)	
			oset = True
		End If
		
		If  ( (oset =False) And (doc.SMTPOriginator(0) <> "" ) ) Then
			env = doc.SMTPOriginator(0) 
			Messagebox("3 " +env)	
			oset = True
		End If
		
		If  ( (oset =False) And (doc.InetFrom(0) <> "" ) ) Then
			env = doc.InetFrom(0)
			Messagebox("4 " +env)	
			oset = True			
		End If
		Messagebox(env)
(...)
		Set doc=coll.GetNextDocument(doc)
		
	Loop
	
End Sub
dispo pour pour d'autres explications, j'ai certainement oublié des trucs qui ne me viennent pas à l'esprit tout de suite.

Tricatel
tricatel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2012, 13h59   #2
Mandraxx
Membre éclairé
 
Avatar de Mandraxx
 
Homme
Architecte de système d'information
Inscription : mai 2011
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France, Gers (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : mai 2011
Messages : 168
Points : 374
Points : 374
Bonjour,

Etrange : le code paraît correct pour récupérer ce genre d'infos. Je pencherais donc pour un problème de contexte : où cet agent est-il exécuté ? Sur quel événement déclencheur ?

@+
__________________
Le choix motivé par le seul argument de modernité est intrinsèquement dépourvu de créativité.
Mandraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2012, 16h47   #3
tricatel
Invité de passage
 
Homme tric atel
Analyste d'exploitation
Inscription : juillet 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme tric atel
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Analyste d'exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : juillet 2012
Messages : 2
Points : 0
Points : 0
Bonjour,

Je précise que le code a été signé avec l'ID du serveur pour qu'il puisse s'exécuter.

Les déclencheurs :
Déclenchement : Lors de l'évènement, Après l'arrivée de nouveaux messages
Cible: Les derniers documents reçus

Tricatel
tricatel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2012, 10h18   #4
Mandraxx
Membre éclairé
 
Avatar de Mandraxx
 
Homme
Architecte de système d'information
Inscription : mai 2011
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France, Gers (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : mai 2011
Messages : 168
Points : 374
Points : 374
Bonjour,

Le serveur a-t-il un niveau d'accès suffisant dans la Liste de Contrôle d'Accès ? Le maintient de la cohérence de cette dernière est-elle activée ?

Autre détail : est-ce que les messages sont des mails "normaux" ou des documents transmis entre applications Lotus ? Au quel cas, n'y aurait-il pas un champ Lecteur qui empêcherait le serveur de voir l'info ?

@+
__________________
Le choix motivé par le seul argument de modernité est intrinsèquement dépourvu de créativité.
Mandraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2012, 10h36   #5
Mandraxx
Membre éclairé
 
Avatar de Mandraxx
 
Homme
Architecte de système d'information
Inscription : mai 2011
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France, Gers (Midi Pyrénées)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Conseil

Informations forums :
Inscription : mai 2011
Messages : 168
Points : 374
Points : 374
Hum... Je repense à un truc en travaillant sur un de mes agents de supervision : si les messages viennent de SMTP, on voit bien les champs dans le document mais le moteur de script n'en voit pas forcément la valeur...

Sur l'un de mes agents qui exploite des messages issus de Perl (analyse de traps SNMP), il a fallu que je force la propriété Summary de chaque champ à True avant de pouvoir exploiter le contenu des champs

C'est peut-être une piste ?

@+
__________________
Le choix motivé par le seul argument de modernité est intrinsèquement dépourvu de créativité.
Mandraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2012, 13h39   #6
MadCat34
Membre habitué
 
Homme Romain
Inscription : août 2005
Messages : 161
Détails du profil
Informations personnelles :
Nom : Homme Romain
Âge : 31
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2005
Messages : 161
Points : 147
Points : 147
Citation:
Envoyé par tricatel Voir le message
Bonjour,
le code est le suivant, je n'ai mis que les parties intéressantes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Sub Initialize
	
	
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim coll As NotesDocumentCollection
	Dim doc As NotesDocument
	Dim docProfile	As NotesDocument
(...)
        Dim env As Variant
	Dim oset As Boolean

	Do Until(doc Is Nothing)	
		dest =doc.SendTo(0)
		'env=doc.principal(0)
		
		oset=False
		
		If (doc.from(0) <> "") Then
			env = doc.from(0)
			Messagebox("1 " +env)			
			oset = True
		End If
		
		If ( (oset =False) And (doc.principal(0) <>"") ) Then
			env = doc.principal(0)
			Messagebox("2 " +env)	
			oset = True
		End If
		
		If  ( (oset =False) And (doc.SMTPOriginator(0) <> "" ) ) Then
			env = doc.SMTPOriginator(0) 
			Messagebox("3 " +env)	
			oset = True
		End If
		
		If  ( (oset =False) And (doc.InetFrom(0) <> "" ) ) Then
			env = doc.InetFrom(0)
			Messagebox("4 " +env)	
			oset = True			
		End If
		Messagebox(env)
(...)
		Set doc=coll.GetNextDocument(doc)
		
	Loop
	
End Sub
Tricatel
Comment recuperes-tu coll ? coll = db.UnprocessedDocuments ?
MadCat34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h53.


 
 
 
 
Partenaires

Hébergement Web