Objetos de negociado: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
No edit summary
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Business_Objects".)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : Business_Objects -->
[[en:Business_Objects]]
[[fr:Objets_métiers]]
[[zh:业务对象]]
<!-- END interlang links -->
{{TemplateDocDesarrollo}}
{{TemplateDocDesarrollo}}
= Business objects =
= Objetos de negocio =
All business objects are defined by a PHP class that herits of class CommonObject (defined in file commonobject.class.php).
Todos los objetos de negocio 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 negocio 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 negocio 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 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.
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 39:
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">
Line 45: Line 52:
<source lang="php">
<source lang="php">
// Declaramos la clase que vamos a manipular
// Declaramos la clase que vamos a manipular
include_once('/pathofdolibarrhtdocs/societe.class.php');
include_once('/pathofdolibarrhtdocs/societe/class/societe.class.php');


// Creamos una instancia del objeto a manipular
// Creamos una instancia del objeto a manipular
Line 66: Line 73:


// Para actualizar
// Para actualizar
$mycompany->nom='Big Brother 2';
$mycompany->update($user);
$mycompany->update($user);
</source>
</source>


== Otros ejemplos ==
== 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.
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.

Latest revision as of 13:20, 23 July 2019


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.