Objets métiers
De Dolibarr Wiki.
Contents |
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).
Pour trouver la classe qui correspond à l'objet métier qui vous interessent, parcourez l'arborescence de fichiers de Dolibarr à la recherche des fichier */class/*.class.php. En effet, toutes les classes se trouvent dans un sous répertoire class d'un répertoire en rapport avec l'objet. Par exemple:
- htdocs/societe/class/societe.class.php pour les tiers
- htdocs/compta/facture/class/facture.class.php pour les factures clients
- htdocs/fourn/class/fournisseur.facture.class.php pour les factures fournisseurs
...
Chaque classe métier possède les 4 méthodes CRUD à utiliser pour réaliser vos lectures ou mises à jours en base:
- Créer (C pour Create): Utiliser la méthode create()
- Lire (R pour Read): Utiliser la méthode fetch()
- Modifier (U pour Update): Utiliser la méthode update()
- Supprimer (D pour Delete): Utiliser la méthode delete()
Voir exemples plus bas...
Lien entre Objets métiers
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 nos actions métiers.
// On declare la classe que l'on va manipuler include_once('/pathofdolibarrhtdocs/societe/class/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 commenté, Dolibarr mettra null dans les champs du user de création ou mise à jour. // $user->fetch('loginuser'); // On invoque la creation $id=$mycompany->create($user); // Pour relire l'objet $mycompany->fetch($id); // Pour le mettre à jour $mycompany->nom='Big Brother 2' $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 de Dolibarr.
Create an account to help us to complete this documentation ->
