Page 1 sur 1

Prise en compte des préférences après changement template

MessagePublié: 26 Nov 2010 à 09:00
par Kapitain
Bonjour à toutes & tous.

Voilà mon problème:
Afin de mettre en place une signature composée de texte ET d'un logo (demandé par ma Direction):
Dans un nouveau template j'ai retouché l'interface des préférences, onglet signatures,
puis dans la bibliothèque "CoreEmailClasses_fr-FR", objet (Déclarations), et la sub "InserSignature", j'ai codé l'écriture "à la volée" d'un fichier HTML, reprenant ce que l'utilisateur a saisi dans les "Préférences"
Bref tout ça marche bien.

Là où le bas blesse, c'est la mise en place du template:
Je l'ai fait pas load nconvert -u ..... (classique), et nous avons envoyé un mail aux utilisateurs pour les obliger à mettre en place leur signature. Pour ceux qui ne l'ont pas fait, je voudrais le faire en LS.

J'arrive à positionner les options, à sauver le masque, mais ça ne marche pas...
c'est comme si je n'avais rien fait.
Il doit manquer une init ou autre chose....

Si quelqu'un a des suggestions, je prends !
Merci d'avance.

MessagePublié: 26 Nov 2010 à 09:50
par Michael DELIQUE
salut

pourquoi, modifier le template alors que c'est quelque chose de paramétrable. j'ai souvenir d'avoir fait pour un client une base pour générer la signature de la personne (text ou html) et la paramétré.

ça évite d'avoir a trifouiller le template de messagerie

pour ta question, le template est correctement signé ?

MessagePublié: 26 Nov 2010 à 10:21
par Kapitain
Michael

J'ai fait un template, car je voulais que ce soit dynamique, que le fichier html reprennne à la volée ce que l'utilisateur a saisi dans les préférences.

Tous les éléments de structure du template sont signés avec l'ID du serveur.

Ce qui est fou c'est que une fois mon agent exécuté, et les valeurs modifiées, quand je crée un mémo il ne voit pas que les préférences sont modifiées. (malgré le "save)

Il faut aller manuellement appuyer sur le bouton "OK" et là ça marche, la signature est enregistrée

Cordialement

MessagePublié: 26 Nov 2010 à 10:51
par Michael DELIQUE
attention les préférences sont stocké dans un document profils.

il faut refermer la base pour qu'il soit mis a jours pour les utilisateurs

MessagePublié: 26 Nov 2010 à 11:00
par Kapitain
Si je comprends bien,

il faudrait que je fasse un "close" de la base, après le "save" du profil ?

Ce serait juste ça ?
Je vais tester ça tout de suite...

Merci

MessagePublié: 26 Nov 2010 à 11:03
par Michael DELIQUE
il faut aussi que l'utilisateur fasse de même !

et puis si tu as un doute tu balance un dbcache flush entre les deux

les documents profils ne sont mis a jours qu'une fois par session.


les modifs que tu fais, tu les vois, mais les autres utilisateurs ne les veront que quand la session sera fermé.

MessagePublié: 26 Nov 2010 à 11:53
par Kapitain
Michael,

non ça ne marche pas.

J'ai bien tout coché dans les préférences, j'ai fait le save, puis le close, puis un dbcache flush

Quand j'ouvre la base, par l'administrator, les préférences sont bien cochées, tout est bien rempli, mais la signature n'est pas insérée.

Dès que je fais OK dans les préférences, ça marche.

Je pense que ce sont les procédures qui sont après la dialog box dans l'agent (preferences), qui doivent faire ce boulot, mais je n'arrive pas à voir la ou lesquelles....

Et c'est vraiment là que ça coince.

Merci encore

MessagePublié: 26 Nov 2010 à 12:43
par Michael DELIQUE
je peux voir ton code ?

Prise en compte des préférences après changement template

MessagePublié: 26 Nov 2010 à 13:20
par Kapitain
Voilà le code en PJ

MessagePublié: 26 Nov 2010 à 13:31
par Kapitain
Oups,

J'ai fait "Nouvelle réponse" au lieu de "Réponse rapide"
......

MessagePublié: 26 Nov 2010 à 13:38
par Michael DELIQUE
ça reviens au même !

MessagePublié: 26 Nov 2010 à 13:46
par Michael DELIQUE
salut

j'ai jeter un oeil vite fait

essais

If DocCalendarProf.Save( True, FALSE,True ) Then

a la place de

If DocCalendarProf.Save( True, True,True ) Then

et tu peux essayer de rajouter avant le save un

call DocCalendarProf.computewithform(true,false)

MessagePublié: 26 Nov 2010 à 16:07
par Kapitain
Ok, j'ai trouvé.

C'est pas dans mon code !
C'est dans la librairie, dans insertsignature, apres le case 2, j'ai rajouté :

If Me.m_strSignature = "" Then
Dim str_logo As Variant
str_logo = ( Evaluate(|@getprofilefield("CalendarProfile"; "Signature_2")|) )
Me.m_strSignature = str_logo(0)
End If

car dans mon cas la variable "Me.m_strSignature " n'arrive pas alimentée
Comme plus loin on teste sa longueur et sa valeur, pour pouvoir continuer, rien ne se passe.

Je ne sais pas si je suis très clair...

En tous cas merci d'avoir pris le temps de regarder le code et de t'être occupé de mon problème.

Cordialement.