Interfaces del Exterior hacia Dolibarr: Difference between revisions
(Created page with '{{TemplateDocDesarrollo}} {{ToTranslate}} Il y a 2 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr. Les 2 techniques possibles sont ...') |
No edit summary |
||
| Line 1: | Line 1: | ||
{{TemplateDocDesarrollo}} | {{TemplateDocDesarrollo}} | ||
{{ToTranslate}} | {{ToTranslate}} | ||
Existen 2 métodos para permitir que una aplicación exterior inserte datos en Dolibarr. Las dos 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:''' | |||
Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr. | |||
'''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. | '''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. | ||
Revision as of 16:51, 21 April 2009
Existen 2 métodos para permitir que una aplicación exterior inserte datos en Dolibarr. Las dos 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:
Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
Inconvénients: Elle n'est exploitable qu'en langage PHP.
Voici un exemple pour la création d'un tiers (société client par exemple):
// On declare la classe que l'on va manipuler
include_once('/pathofdolibarrhtdocs/societe.class.php');
// On cree une instance de l'objet à manipuler
$mycompany = new Societe($db);
// On renseigne ces caractéristiques
$mycompany->nom='Big Brother';
$mycompany->client=1;
// Si on veut que l'action de creation soit associé a un utilisateur 'loginuser' particulier,
// il faut decommenter cette ligne pour charger les caractéristiques de cet utilisateur.
// Si on laisse commenter, Dolibarr mettra null dans les champs du user de création ou mise a jour.
// $user->fetch('loginuser');
// On invoque la creation
$id=$mycompany->create($user);
// Pour charger l'objet
$mycompany->fetch($id);
// Pour mettre a jour
$mycompany->update($user);
Rem: Si on est dans le cas d'un script externe à Dolibarr, il est nécessaire de faire au début, avant le include de la classe manipulée
include('/pathofdolibarrhtdocs/master.inc.php');
pour que les objets $db, $lang et $user soient créés. Si on veut que les actions (creation, mise a jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire avant