XPAGES comparaison Javascript.

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

XPAGES comparaison Javascript.

Messagepar fripouille76 » 30 Déc 2010 à 10:45

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..
Dernière édition par fripouille76 le 30 Déc 2010 à 11:03, édité 1 fois.
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Messagepar Grey Goda » 30 Déc 2010 à 10:57

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]
Avatar de l’utilisateur
Grey Goda
Posteur néophyte
Posteur néophyte
 
Message(s) : 61
Inscrit(e) le : 12 Mars 2010 à 11:31

Messagepar fripouille76 » 30 Déc 2010 à 10:59

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 !!!!!
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Messagepar fripouille76 » 30 Déc 2010 à 11:01

hmm ok je vais tester comme ca voir si j'ai le meme resultat..c'est déja plus logique a mon sens ^^
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Messagepar fripouille76 » 30 Déc 2010 à 11:03

ca passe aussi....Merci du tuyau je serai plus vigilant a présent ^^ désolé
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Messagepar Michael DELIQUE » 30 Déc 2010 à 11:13

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar fripouille76 » 30 Déc 2010 à 11:16

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
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19


Retour vers Développement