Page 1 sur 1

Récupérer la valeur d'un champ Formule

MessagePublié: 07 Oct 2010 à 17:42
par roubech
Bonjour,

Je cherche à récupérer les règles de messagerie, mais les champs $FilterFormula du CalendarProfile sont de type FORMULA (1536)
j'ai essayé GetItemValue et item.Text, pas moyen de récupérer la formule sous forme d'une chaine pour l'écrire dans un fichier texte
[syntax="LotusScript"] ' Vérifier le nombre de règles actives
Set docProfile = dbMail.GetProfileDocument( "CalendarProfile" )
If Not docProfile.HasItem( "$FilterFormulaCount" ) Then
Print #nFileNum, docNab.Shortname(0) & Chr(9) & "$FilterFormulaCount not found"
GoTo NextDoc
End If
Print #nFileNum, docNab.Shortname(0) & Chr(9) & "$FilterFormulaCount=" & docProfile.~$FilterFormulaCount(0)
' Parcours des règles de messagerie
For i = 0 To Cint(docProfile.~$FilterFormulaCount(0))
If Not docProfile.HasItem( "$FilterFormula_" & i ) Then
Print #nFileNum, docNab.Shortname(0) & Chr(9) & "$FilterFormula_" & i & " not found"
Else
Set item = docProfile.getFirstItem("$FilterFormula_" & i )
If item.Type = 1536 Then ' FORMULA
sFormula = item.Text
Else
vFormula = docProfile.getItemValue("$FilterFormula_" & i )
If IsArray(vFormula) Then
sFormula = vFormula(0)
Else
sFormula = CStr(vFormula)
End If
End If
Print #nFileNum, docNab.Shortname(0) & Chr(9) & "$FilterFormula_" & i & "=" & Chr(9) & sFormula
If InStr( sFormula, {$FilterActions:"COPYTO1} ) > 0 Then
Print #nFileNum, docNab.Shortname(0) & Chr(9) & i & " : Match"
End If
End If
Next[/syntax]

MessagePublié: 08 Oct 2010 à 10:37
par kochiz
Et avec la propriétés "values" tu as quelques choses ?

MessagePublié: 08 Oct 2010 à 16:17
par roubech
merci pour ta réponse

j'ai testé, je ne récupère toujours rien (chaine vide quand je fais un print)
dans l'aide, il explique ce que tu récupère en fonction des différents type, text, nombre, readers, authors ... mais pas formule !

MessagePublié: 08 Oct 2010 à 18:35
par Michael DELIQUE
tu as essayer via une api ?

MessagePublié: 08 Oct 2010 à 19:50
par roubech
non
vendredi soir, je voulais rentrer, donc j'ai contourné le pb en parcourant tous les docs du dossier Rules

mais si quelqu'un à la solution, ça pourrait servir un jour

MessagePublié: 11 Oct 2010 à 10:30
par Michael DELIQUE
j'ai fait quelque teste.

alors

l'information se récupere bien via un Notesuidocument, mais via un NotesDocument ya rien...

le champ doit être d'un type spécial car lorsqu'on regarde le contenu d'un champ formule (littéraliser champ) on a un truc de ce genre via les propriété du doc :

14 00 00 00 08 .....
00 2C 00 03 00 .,...
07 00 0A 00 04 .....
00 09 4C 31 53 ..L1S


par contre en calculé on a bien une information claire.

MessagePublié: 11 Oct 2010 à 17:00
par Aquanotes
Salut,

Un début de piste : Via DXL tu peux récupérer ces formules :

Code : Tout sélectionner
<item><formula>ta formule en clair ici</formula></item>

MessagePublié: 11 Oct 2010 à 19:34
par roubech
merci les gars

MessagePublié: 13 Oct 2010 à 15:40
par LSong
avec un evaluate sur {@text("$FilterFormula_" + } & i & {)}

ca peu donner quelque chose ?

MessagePublié: 13 Oct 2010 à 19:48
par roubech
à tester ... mais je suis passé à autre chose cette semaine
mais j'ai un creux je regarderai
merci LSong