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);