Dans cet article


Offres d'emploi

Tags

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

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 !

L'équipe AXOPEN

Voir aussi les articles suivants

OJS : le caractère « retour chariot »

OJS : le caractère « retour chariot »

Le 28/05/2014 par Thibault Gonin

Problématique Lors de développements spécifiques en OPX2 Javascript (sous Planisware) on peut être amené à utiliser le caractère « retour chariot » ou « retour à la ligne ». A quoi sert-il sous Planisware ? Ce caractère spécial se traduit en OJS sous la forme suivante : "get_char".callmacro(10) Le nombre ’10’ utilisé comme argument de la fonction correspond au code ASCII du retour à la ligne. Utilisation On peut être ammené à rechercher ce caractère dans différents cas comme par exemple :
Lire l'article

Paramétrer l’affichage des cellules dans un tableau sous Planisware 5
Introduction : Lorsque l’on implémente des écrans sous Planisware il est souvent demandé de paramétrer l’affichage des cellules d’un tableau en fonction de leur valeur, du type d’objet etc… Il peut s’agir par exemple d’afficher en gras et de couleur rouge les tâches dont la durée est supérieure à 100h. C’est en quelque sorte les mises en forme conditionnelles que l’on trouve sous Excel. Il existe plusieurs moyens de répondre à ce besoin sous Planisware.
Lire l'article

Planisware : reproduire le comportement du bouton « Déconnexion » via OJS
Introduction Cet article explique comment reproduire en script OJS l’action de cliquer sur le lien « Déconnexion » de la page d’accueil Planisware Processes. Cette fonctionnalité peut être utile dans certains cas marginaux où l’on souhaite forcer le client léger à se déconnecter. Implémentation Pour implémenter cette fonctionnalité en OJS il suffit d’utiliser une commande appelant du code LISP. La commande est la suivante : "(report-builder::ottp-tool-activate :CLOSE report-builder::*current-applet* xt::*current-widget*)".lispeval();
Lire l'article