AXOPEN

OJS : utilisation de la fonction « get() » à l’intérieur d’un « fromobject() »

Rappels sur l’utilisation de la méthode get()

Pour rappel la méthode get() est définie sur une classe d’objet et prend comme argument l’ONB ou l’ID de l’objet recherché.

Exemple :

my_task = "OpxTASK".get(2938820);

La variable my_task représentera l’objet tâche dont l’ONB est 2938820.

Rappels sur l’utilisation de la fonction fromobject()

La fonction fromobject(my_object) permet de restreindre les traitements réalisés sous cette fonction aux objets en relation avec my_object.

Exemple :

var my_project = "OpxPROJECT".get("PROJET01");
fromobject(my_project)
{
  for (var my_activity from "OpxACTIVITY")
  {
     writeln(my_activity.NAME);
  }
}

Ce script va, par exemple, afficher le nom de toutes les activités du projet dont l’ID est ‘PROJET01’.

Description du problème

L’utilisation de la méthode « get » sous un « fromobject » en OJS peut être déroutante si l’on ne comprend pas le fonctionnement précis de cette méthode.  En effet une erreur fréquente est de penser que le sous un « fromobject » la méthode « get » va se limiter aux objets en relation avec l’objet du « fromobject ».

En réalité la méthode « get » permet un accès direct à l’objet recherché quelque soit l’endroit où elle est utilisé. Ainsi sous un fromobjet la méthode « get » se comportera comme s’il n’y avait pas de fromobject.