Salut à tous,Pourriez vous me dire s'il vous plait...

cancel
Showing results for 
Search instead for 
Did you mean: 
eagle
Member II

Salut à tous,Pourriez vous me dire s'il vous plait...

Salut à tous,

Pourriez vous me dire s'il vous plait comment récupérer les valeurs d'une association via javascript??
G déja essayé ce code suivant:

var asso = monNode.assocs;

nomNode contient une association dont la cible pointe vers cmSmiley Tongueerson. Cependant, lors de l'exécution du script, ma variable "asso" garde la valeur null. G même essayé le code suivant pour faire un test:

var asso = companyhome.assocs;

et toujours le même résultat. La variable "asso" garde toujours la valeur null.

Donc voila, si vous pouvez me dire ce que vous en pensez un peu pour me mettre sur une piste…

Merci d'avance pour vos réponse..Smiley Happy
4 Replies
eagle
Member II

Re: Salut à tous,Pourriez vous me dire s'il vous plait...

Aidez moi s'îl vous plait. C'est très important pour la suite de mon projet. J'attends toujours vos réponses. Merci.Smiley Very Happy
egr
Member II

Re: Salut à tous,Pourriez vous me dire s'il vous plait...

bonjour,

assocs retourne un tableau d'associations, il faut donc préciser quelle partie du tableau souhaitée (exemple :mynode.assocs["cm:translations"][0]) ou faire une boucle dessus.

Pour information, si vous ne l'avez pas encore fait, il est bon d'activer log4j sur les scripts pour effectuer des vérifications. c'est le fichier log4j.properties. Ajouter la ligne :
 log4j.logger.org.alfresco.repo.jscript=DEBUG.
puis dans votre script, il suffit d'ajouter ce genre de code :

  logger.log("VERIFICATION VARIABLE  : " + maVariable);
eagle
Member II

Re: Salut à tous,Pourriez vous me dire s'il vous plait...

Merci beaucoup pour votre réponse. Mais le soucis que j'ai, c'est que le tableau assocs reste vide. Lorsque je lance le debugger javascript, mon tableau assocs a la valeur "null". Pourtant, g bien une association présente dans ma node.

Fichier xml:

   <types>
      <type name="custom:mail">
         <parent>cm:content</parent>
         <associations>
            <association name="custom:contacts">
               <target>
                  <class>cmSmiley Tongueerson</class>
                  <mandatory>false</mandatory>
                  <many>true</many>
               </target>
            </association>
         </associations>
      </type>
   </types>


Javascript:

var personnes = document.assocs["custom:contacts"];
var person1 = personnes[0];


Donc voila, je ne comprend pas trop ce qui se passe, peut être s'agit-il d'un bug lié à Alfresco 2.1?
egr
Member II

Re: Salut à tous,Pourriez vous me dire s'il vous plait...

Avez-vous préalablement ajouté un document du type "custom:mail" en enrichissant la méta-donnée "custom:contacts" d'une valeur (choix d'un utilisateur d'Alfresco en fait) ?

J'ai essayé le code suivant, cela fonctionne sans problème :
var personnes = document.assocs["custom:contacts"];
var person1 = personnes[0];


var personName = person1.properties["cm:userName"];

logger.log("VERIFICATION personName  : " + personName);
j'ai aussi très légèrement modifié votre modèle en ajoutant une source :

<types>
       <type name="custom:mail">
           <parent>cm:content</parent>
         <associations>
                        <association name="custom:contacts">
                             <source>
                                 <mandatory>false</mandatory>
                                 <many>false</many>
                             </source>              
                          <target>
                                <class>cm:person</class>
                                <mandatory>false</mandatory>
                                <many>true</many>
                            </target>
                      </association>
            </associations>
       </type>
</types>