Objetos de negociado
Objetos de negocio
Todos los objetos de negocio se definen mediante clases PHP que hereda de la clase CommonObject (definida en el archivo commonobject.class.php). Todos los objetos de negocio tienen los 4 métodos CRUD:
- Creación: create()
- Lectura: fetch()
- Actualización: update()
- Borrado: delete()
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);
Otros ejemplos
Encontrará otros ejemplos de manipulación de objetos Dolibarr (Creación, Lectura, Modificación, Eliminación) en el directorio dev/samples del snapshot de Dolibarr.