Interfaces del Exterior hacia Dolibarr: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 30: 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
<source lang="php">
include('/pathofdolibarrhtdocs/master.inc.php');
</source>
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
<source lang="php">
$user->fetch(0,'loginuser');
</source>
Seguidamente, podremos realizar nuestras acciones.
<source lang="php">
<source lang="php">
// Declaramos la clase que vamos a manipular
// Declaramos la clase que vamos a manipular
Line 56: Line 67:
</source>
</source>


Nota: Si se encuentra en el caso de un script externo a Dolibarr, es necesario realizar un inicio, antes del include de la clase a manipular
<source lang="php">
include('/pathofdolibarrhtdocs/master.inc.php');
</source>
para que los objetos $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
<source lang="php">
$user->fetch(0,'loginuser');
</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 CVS de Dolibarr.

Revision as of 09:30, 19 July 2010

Existen 3 métodos para permitir que una aplicación exterior inserte datos en Dolibarr (Para obtener información acerca del caso contrario y permitir a Dolibarr insertar datos en el exterior, consulte la página Interfaces Dolibarr hacia el exterior).

Las tres técnicas posibles son las siguientes:

Inserción de datos directa en la base de datos

Esta solución requiere el conocimiento del modelo físico y los valores autorizados de los campos. Es arriesgado y debe ser reescrito en caso de modificiación del formato de la base de datos Dolibarr.

Ventajas: Se puede realizar en cualquier lenguaje.

Inconveniente: Esta técnica es muy desaconsejada. Al primer aumento de versión Dolibarr, este método puede dejar de funcionar, siendo necesario reescribirlo. Además, utilizando este método, se pasan por alto las reglas de negociado de validación, creando un riesgo de corrupción de datos. Este método también necesita conocer la base de datos Dolibarr.

Uso de clases PHP

Es posible utilizar objetos de negociado de Dolibarr (Los ficheros xxx.class.php). Cada uno de estos ficheros ofrece una clase equipada con métodos para:

  • la recuperación de una entidad (el método fetch)
  • La inserción de una entidad (el método create o insert)
  • la actualización de una entidad (el método update)
  • la eliminación de una entidad (el método delete) si es aplicable al objeto
  • Otros métodos diversos propios de la entidad manipulada.

Esta técnica es preferible a la anterior.

Ventajas: Ofrece la ventaja de pasar a través de capas de negociado de validación de datos. La interfaz del código no debería ser sobreescrita en caso de aumento de versión de Dolibarr.

Inconvenientes: Sólo se utiliza en PHP. Su código debe de estar situado en el mismo servidor que los archivos Dolibarr.

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, es necesario realizar un inicio, antes de cualquier cosa

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.

Web services

Vea el Módulo Services Web.