Aller au contenu

    Inspect() : afficher les attributs d'un objet en OJS

    Problématique

    Lorsque l’on développe en langage script Planisware (OJS), il peut être utile d’afficher les attributs d’un objet ainsi que leur valeur à un instant donné. Pour ce faire nous pouvons utiliser les fonctions alert(), writeln() et inspect().

    Une première solution basique consiste à afficher la valeur d’un champ en utilisant les instructions alert (pour un affichage en popup à l’écran) et writeln (pour un affichage dans le fichier de log ou dans la console Planisware selon si l’on est connecté en client léger ou en client lourd).

    Exemple pour afficher le nom d’une activité :

    				
    					var o_activity = "OpxActivity".get("ID_ACTIVITY");
    
    alert(o_activity.NAME); // pour afficher en popup
    writeln(o_activity.NAME); // pour afficher dans la log
    				
    			

    Afin de rappeler ce qui est affiché on peut aussi préfixer par une chaine de caractère :

    				
    					var o_activity = "OpxActivity".get("ID_ACTIVITY");
    
    alert("NAME : "+o_activity.NAME);
    writeln("NAME : "+o_activity.NAME);
    				
    			

    Cette méthode est pratique pour débugger lorsque l’on a besoin d’accéder à un nombre limité d’attributs.

    Une seconde méthode permet d’adresser 2 besoins :

    Lister la totalité des attributs d’un objet (liés à sa classe)
    Afficher la valeur de chacun de ces attributs à un instant donné

    Il s’agit de la méthode inspect() qui permet d’afficher dans une popup la liste des attributs.

    Mise en application de la fonction inspect()

    Voici un exemple permettant d’afficher la liste des attribut-valeur d’une activité :

    				
    					var o_activity = "OpxActivity".get("ID_ACTIVITY");
    o_activity.inspect();
    				
    			

    Résultat obtenu :

    inspect Kernel

    Exemple de résultat de la fonction inspect() sur une activité
    Cette fonctionnalité est très utile et permet même, sur les attributs « relation » d’accéder en cascade (par drill down) à la liste des attributs-valeurs des champs de l’objet en relation par simple clic.

    Dans la succession d’image ci-dessous, on s’aperçoit que lorsque l’on clique sur la valeur du champ « WBS_TYPE » de notre activité, on accède au formulaire « inspect » du type de notre activité :

    Inspect kernel 2

    Résultat de la fonction inspect() sur une activité
    Ouverture de la fenêtre d’inspection sur l’objet WBS_TYPE en relation.

    Inspect Kernel 3

    Affichage de la liste des attributs-valeurs du type de notre activité