Objetos de negociado: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{TemplateDocDesarrollo}}
{{TemplateDocDesarrollo}}
= Business objects =
= Objetos de negociado =
All business objects are defined by a PHP class that herits of class CommonObject (defined in file commonobject.class.php).
Todos los objetos de negociado se definen mediante clases PHP que hereda de la clase CommonObject (definida en el archivo commonobject.class.php).
Every business object has the 4 CRUD methods:
Todos los objetos de negociado tienen los 4 métodos CRUD:
* Create: create()
* Creación: create()
* Read: fetch()
* Lectura: fetch()
* Update: update()
* Actualización: update()
* Delete: delete()
* Borrado: delete()


= Linked business objects =
= Objetos de negociado vinculados =
Some business objects are linked to other. This is done into Dolibarr using the [[Table llx_element_element]]. But you don't have to read this table to get objects linked to another.
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.
This is a portion of code that show you how ou can do this:
Este es un trozo de código que le muestra como hacerlo:
<source lang="php">
<source lang="php">
// This load the array linked_object with objects that link to this one
// Cargamos el array linked_object con objetos que se vinculan con uno
$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);
$object->load_object_linked($object->id, $object->element);


// Then choose id with objects type you need
// Elegimos id con los objetos del tipo que necesitamos
$org_order_array = $object->linked_object["commande"];
$org_order_array = $object->linked_object["commande"];


// Now use them
// Lo usamos
$thelinkedobjectid = $org_order_array[0];
$thelinkedobjectid = $org_order_array[0];
// new order instance
// creamos una instancia de pedido
$thelinkedobject = new Commande($object->db);
$thelinkedobject = new Commande($object->db);
// load the object
// 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, antes de cualquier cosa
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.