Page 1 sur 1

XPAGES comparaison Javascript.

MessagePublié: 30 Déc 2010 à 10:45
par fripouille76
Bonjour

Petit problème.

j'affiche cette formule dans un champ calculé j'obtiens : "MonForm"

Code : Tout sélectionner
//recupération du doc parent
var docParent:NotesDocument=database.getDocumentByID(currentDocument.getParentId())

docParent.getItemValue("form")



et lorsque je définie ma valeur avec une condition comme celle ci

Code : Tout sélectionner
//recupération du doc parent
var docParent:NotesDocument=database.getDocumentByID(currentDocument.getParentId())

if (docParent.getItemValue("form") == "MonForm"){
"je trouve mon doc"}
else {
"je trouve pas"
}



il rentre dans le ELSE ...Oo et m'affiche "je trouve pas".....
Il y a quelque chose que je vois pas ??? une erreur de syntaxe ?

Merci pour vos lumières....je désespère un peu la..

MessagePublié: 30 Déc 2010 à 10:57
par Grey Goda
Comme en lotusscript, docParent.getItemValue("form") renvoie un tableau.

Il faut donc plutôt faire :

[syntax="javascript"]docParent.getItemValue("form")[0][/syntax]

ou

[syntax="javascript"]docParent.getItemValueString("form")[/syntax]

MessagePublié: 30 Déc 2010 à 10:59
par fripouille76
OH MON DIEU j'ai TROUVE...........tout est dans la syntaxe...mais faut le savoir.....

Code : Tout sélectionner
var docParent:NotesDocument = database.getDocumentByID(currentDocument.getParentId())
if(docParent.getItemValue("form")=="[MonForm]" ){
   "OK"
}


Et la ca passe ....noté les Crocher dans les guillemet.....a devenir chèvre...c'est quoi cette logique !!!!!

MessagePublié: 30 Déc 2010 à 11:01
par fripouille76
hmm ok je vais tester comme ca voir si j'ai le meme resultat..c'est déja plus logique a mon sens ^^

MessagePublié: 30 Déc 2010 à 11:03
par fripouille76
ca passe aussi....Merci du tuyau je serai plus vigilant a présent ^^ désolé

MessagePublié: 30 Déc 2010 à 11:13
par Michael DELIQUE
salut

je peux donné un début de réponse au pouquoi

Code : Tout sélectionner
docParent.getItemValue("form")=="[MonForm]"



docParent.getItemValue("form") renvois un array (comme en Lotus Script) et ne mettant ton nom de champ ente corchet tu dois le casté comme un array aussi

MessagePublié: 30 Déc 2010 à 11:16
par fripouille76
ok bah je m'endormirai moins bete ce soir...j'avoue qu'en lotusScript le "(0)" est un reflexe derriere le getiTemvalue et la je sais pas pourquoi je l'ai pas mis...Merci pour cette info