Objetos de negocio vinculados
Algunos objetos de negocio se encuentran vinculados con otros. En Dolibarr esto se hace usando la Table llx_element_element. Pero no tiene que leer esta tabla para obtener objetos vinculados a otro. Este es un trozo de código que le muestra como hacerlo:
// Cargamos el array linked_object con objetos que se vinculan con uno $object->load_object_linked($object->id, $object->element); // Elegimos id con los objetos del tipo que necesitamos $org_order_array = $object->linked_object["commande"]; // Lo usamos $thelinkedobjectid = $org_order_array[0]; // creamos una instancia de pedido $thelinkedobject = new Commande($object->db); // Cargamos el objeto $thelinkedobject->fetch($thelinkedobjectid);
Ejemplos
Ejemplo para la creación de un tercero
He aquí un ejemplo para la creación de un tercero (empresa cliente, por ejemplo):
Si se encuentra en el caso de un script externo a Dolibarr, antes de nada es necesario realizar un inicio.
include('/pathofdolibarrhtdocs/master.inc.php');
para que el entorno Dolibarr (objetos $conf, $db, $lang y $user sean creados). Si queremos que las acciones (creación, actualización), se asocien a un usuario en particular, es necesario hacerlo despues del include de master.inc.php
$user->fetch(0,'loginuser');
Seguidamente, podremos realizar nuestras acciones.
// Declaramos la clase que vamos a manipular include_once('/pathofdolibarrhtdocs/societe/class/societe.class.php'); // Creamos una instancia del objeto a manipular $mycompany = new Societe($db); // Indicamos sus características $mycompany->nom='Big Brother'; $mycompany->client=1; // Si queremos que la acción de creación se asocie a un usuario 'loginuser' en particular, // hay que descomentar esta linea para cambiar las caracteriísticas de este usuario. // Si lo dejamos comentado, Dolibarr meterá un null en los campos de usuario de creacion o actualización. // $user->fetch('loginuser'); // Llamamos a la creación $id=$mycompany->create($user); // Para cambiar el objeto $mycompany->fetch($id); // Para actualizar $mycompany->nom='Big Brother 2'; $mycompany->update($user);