Interfaces del Exterior hacia Dolibarr: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(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}}
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 les suivantes:


== Insertion des données directement en base ==
Existen 2 métodos para permitir que una aplicación exterior inserte datos en Dolibarr. Las dos técnicas posibles son las siguientes:
Cette solution requiert de connaître le modèle physique et les valeurs autorisées des champs. Elle est risquée et devra être réécrite en cas de modification du format de base de Dolibarr.


'''Avantages:''' Peut être réalisé dans n'importe quel langage.
== 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.


'''Inconvénient:''' Cette technique est très fortement déconseillée. A la première montée de version de Dolibarr, cette méthode risque de ne plus fonctionner et devoir être réécrite.
'''Ventajas:''' Se puede realizar en cualquier lenguaje.
De plus, en utilisant cette méthode, vous passer outre les règles de validation métier, ce qui crée un risque de corrompre les données. Cette méthode nécessite aussi de connaitre la base Dolibarr.


== Utilisation des classes PHP ==
'''Inconveniente:''' Esta técnica es muy desaconsejada. Al primer aumento de versión Dolibarr, este método puede dejar de funcionar, siendo necesario reescribirlo.
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php).
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.
Chacun de ces fichiers offre un classe munie de méthodes pour:
* la récupération d'une entité (la méthode fetch)
* l'insertion en base d'une entité (la méthode create ou insert)
* la mise à jour d'une entité (la méthode update)
* la suppression d'une entité (la méthode delete) si applicable à l'objet
* d'autres méthodes diverses propre à l'entité manipulée.
Cette technique est préférable à la précédente.


'''Avantages:''' 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.
== 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

En verysmall.png Page waiting for translation. To translate, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente de traduction. Pour traduire, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a traducir. Para traducirla, cree una cuenta, vuelva a la página y haga clic en "editar".
It verysmall.png Pagina da tradurre. Per tradurla, crea un utente, torna indietro e clicca su "modifica".
Pt verysmall.png Página a aguardar por tradução. Para traduzir, crie uma conta, volte atrás e clique em "Modificar".
De verysmall.png Seite wartet auf Übersetzung. Um Übersetzung zu erstellen, richte einen Account ein, geh zurück und klicke auf "bearbeiten".
Zh verysmall.png 页面等待翻译。若要翻译本页,先创建一个帐户、登录并返回本页后单击“编辑”。

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