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.

Thibault Gonin

Consultant Planisware (certifié Planisware 5) dans la société Axopen. Thibault Gonin intervient sur des missions d'expertise technique et fonctionnelle sur le progiciel Planisware. Plus d'informations sur nos offres sur <a title="Site Web AXOPEN" href="http://www.axopen.com">www.axopen.com</a>