Difference between revisions of "Objets métiers"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
{{TemplateDocDev}}
 
{{TemplateDocDev}}
 
 
 
 
 
 
  
 
= Objets métiers =
 
= Objets métiers =
 
 
Tous les objets métiers sont définis par une classe PHP qui hérite de la classe CommonObject (définie dans le fichier commonobject.class.php).
 
Tous les objets métiers sont définis par une classe PHP qui hérite de la classe CommonObject (définie dans le fichier commonobject.class.php).
 +
Chaque objet métiers possède les 4 méthodes CRUD:
 +
* Créer: create()
 +
* Lire: fetch()
 +
* Modifier: update()
 +
* Supprimer: delete()
  
 
= Objets métiers liés =
 
= Objets métiers liés =

Revision as of 15:50, 3 September 2010

Objets métiers

Tous les objets métiers sont définis par une classe PHP qui hérite de la classe CommonObject (définie dans le fichier commonobject.class.php). Chaque objet métiers possède les 4 méthodes CRUD:

  • Créer: create()
  • Lire: fetch()
  • Modifier: update()
  • Supprimer: delete()

Objets métiers liés

Certains objets métiers sont liés les uns aux autres. Ceci est fait dans Dolibarr via la Table llx_element_element. Mais vousn'avez pas à lire cette table pour récupérer les objets liés à un autre. voici la portion de code qui montre comment faire cela:

// This load the array linked_object with objects that link to this one
$object->load_object_linked($object->id, $object->element);
// To load array linked_object with objects that are linked by this one
$object->load_object_linked($object->id, $object->element);

// Then choose id with objects type you need
$org_order_array = $object->linked_object["commande"];

// Now use them
$thelinkedobjectid = $org_order_array[0];
// new order instance
$thelinkedobject = new Commande($object->db);
// load the object
$thelinkedobject->fetch($thelinkedobjectid);

Exemples

Exemple pour la création d'un tiers

Voici un exemple pour la création d'un tiers (société client par exemple):

Si on est dans le cas d'un script nouveau ou externe à Dolibarr, il est nécessaire de faire au début de son code, avant toute chose

include('/pathofdolibarrhtdocs/master.inc.php');

pour que l'environnement Dolibarr (objets $conf, $db, $lang et $user) soit créé. Si on veut que les actions (creation, mise à jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire après l'include du master.inc.php

$user->fetch(0,'loginuser');

Ensuite, on peut manipuler réaliser nos actions métiers.

// On declare la classe que l'on va manipuler
include_once('/pathofdolibarrhtdocs/societe.class.php');
 
// On cree une instance de l'objet à manipuler
$mycompany = new Societe($db);
 
// On renseigne ces caractéristiques
$mycompany->nom='Big Brother';
$mycompany->client=1;
 
// Si on veut que l'action de création soit associé a un utilisateur 'loginuser' particulier,
// il faut decommenter cette ligne pour charger les caractéristiques de cet utilisateur.
// Si on laisse commenter, Dolibarr mettra null dans les champs du user de création ou mise a jour.
// $user->fetch('loginuser');
 
// On invoque la creation
$id=$mycompany->create($user);
 
// Pour charger l'objet
$mycompany->fetch($id);
 
// Pour mettre a jour
$mycompany->update($user);

Autres exemples

Vous trouverez d'autres exemples de manipulation d'objet Dolibarr (Création, Lecture, Modification, Suppression) dans le répertoire dev/samples du snapshot CVS de Dolibarr.