Objetos de negociado: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{TemplateDocDesarrollo}} | {{TemplateDocDesarrollo}} | ||
= | = Objetos de negociado = | ||
Todos los objetos de negociado se definen mediante clases PHP que hereda de la clase CommonObject (definida en el archivo commonobject.class.php). | |||
Todos los objetos de negociado tienen los 4 métodos CRUD: | |||
* | * Creación: create() | ||
* | * Lectura: fetch() | ||
* | * Actualización: update() | ||
* | * Borrado: delete() | ||
= | = Objetos de negociado vinculados = | ||
Algunos objetos de negociado 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: | |||
<source lang="php"> | <source lang="php"> | ||
// | // Cargamos el array linked_object con objetos que se vinculan con uno | ||
$object->load_object_linked($object->id, $object->element); | $object->load_object_linked($object->id, $object->element); | ||
// | // Elegimos id con los objetos del tipo que necesitamos | ||
$org_order_array = $object->linked_object["commande"]; | $org_order_array = $object->linked_object["commande"]; | ||
// | // Lo usamos | ||
$thelinkedobjectid = $org_order_array[0]; | $thelinkedobjectid = $org_order_array[0]; | ||
// | // creamos una instancia de pedido | ||
$thelinkedobject = new Commande($object->db); | $thelinkedobject = new Commande($object->db); | ||
// | // Cargamos el objeto | ||
$thelinkedobject->fetch($thelinkedobjectid); | $thelinkedobject->fetch($thelinkedobjectid); | ||
</source> | </source> | ||
| Line 32: | Line 30: | ||
He aquí un ejemplo para la creación de un tercero (empresa cliente, por ejemplo): | 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, es necesario realizar un inicio | Si se encuentra en el caso de un script externo a Dolibarr, antes de nada es necesario realizar un inicio. | ||
<source lang="php"> | <source lang="php"> | ||
Revision as of 05:55, 9 September 2010
Objetos de negociado
Todos los objetos de negociado se definen mediante clases PHP que hereda de la clase CommonObject (definida en el archivo commonobject.class.php). Todos los objetos de negociado tienen los 4 métodos CRUD:
- Creación: create()
- Lectura: fetch()
- Actualización: update()
- Borrado: delete()
Objetos de negociado vinculados
Algunos objetos de negociado 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.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->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 CVS de Dolibarr.