AXOPEN

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 :

Exemple de résultat de la fonction inspect() sur une activité

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é :

Résultat de la fonction inspect() sur une activité

Résultat de la fonction inspect() sur une activité

Ouverture de la fenêtre d’inspection sur l’objet WBS_TYPE en relation.

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

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

 

PS : Merci à Laurent pour sa relecture attentive !