Objetos de negociado: Difference between revisions
No edit summary |
PolyglotBot (talk | contribs) 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}} | ||
= | = 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: | |||
<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 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 | 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 | 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.