Difference between revisions of "Módulo OSCommerceWS (desarrollador)"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 19: Line 19:
 
Este módulo funciona a través de la utilización de una librería que facilita el uso de los web services: ''NuSOAP''
 
Este módulo funciona a través de la utilización de una librería que facilita el uso de los web services: ''NuSOAP''
  
= Interface =
+
= Interfaz =
  
On accède à l'interface via l'onglet OSCommerce dans le menu supérieur de l'interface par défaut de Dolibarr. Ce menu nous donne une première page récapitulative des données disponibles dans OSCommerce.  
+
Podemos acceder a la interfaz a través del menú OSCommerce en el menú superior de la interfaz por defecto de Dolibarr. Este menú nos da una primera página recapitulativa de los datos disponibles en OSCommerce.
  
Le menu de gauche permet alors d'accéder à plus de fonctionnalités, notamment les fonctionnalités de synchronisation.
+
El menú izquierdo permite acceder a más características, incluyendo las funcionalidades de sincronización.
  
La liste de fonctionnalités suivante utilise la convention '''export=Dolibarr->OSCommerce''' et '''import=OSCommerce->Dolibarr'''
+
La lista de funcionalidades siguientes utilizan la convención '''export=Dolibarr->OSCommerce''' y '''import=OSCommerce->Dolibarr'''
  
== Exporter un produit ==
+
== Exportar un producto ==
 +
Al hacer clic en el link ''AddProd'' (que debe ser traducido al español como ''Añadir producto'', vamos a la exportación de productos. Sólo tenemos que seleccionar un producto y una cantidad, a continuación, pulsar el botón ''OSCsell''( que debe ser traducido al español por ''Vender en OSCommerce'') para que la consulta de creación sea enviada.
  
En cliquant sur le lien ''AddProd'' (qui devrait être traduit en français par ''Ajout produit'', on arrive sur la page d'export des produits. Il suffit de sélectionner un produit et une quantité, puis d'appuyer sur le bouton ''OSCsell'' (qui devrait être traduit en français par ''Vendre sur OSCommerce'') pour que la requête de création soit envoyée.
+
Atención, la lista de los productos está limitada por las limitaciones de las listas de Dolibarr. Por tanto, puede ser que más allá de, por ejemplo, 50 productos, sea imposible ver el resto de los productos. Para cambiar este límite, podemos modificar la configuración de Dolibarr, o cambiarlo directamente en '''htdocs/oscommerce_ws/produits/OSCVente.php''', buscar '''$html->select_produits''' y modificar '''$conf->produit->limit_size'''
  
Attention, la liste de produits est limitée en utilisant les limitations de listes de Dolibarr. Il se pourrait donc qu'au-delà de, par exemple, 50 produits, il soit impossible de voir le reste des produits. Pour changer cette limite, on peut aller la modifier dans la configuration de Dolibarr, ou si l'on veut s'en débarrasser, c'est dans '''htdocs/oscommerce_ws/produits/OSCVente.php''', chercher '''$html->select_produits''' et modifier '''$conf->produit->limit_size'''
+
== Importar un producto ==
  
== Importer un produit ==
+
La importación de un producto se realiza a través del menú "Productos". La página de importación  muestra una lista de productos disponibles en OSCommerce. El vínculo de la derecha muestra "Importar" o "Editar", en función de si los productos figuran o no en la tabla ''llx_osc_product''.
  
Importer un produit se fait au travers du menu "Produits". La page d'import affiche une liste des produits disponibles dans OSCommerce. Le lien de droite affiche "Importer" ou "Modifier", selon que les produits figurent ou non dans la table ''llx_osc_product''.
+
Si un producto existe localmente y lo eliminamos (localmente), encontramos un bonito error de sincronización, donde aparece siempre el producto a "Editar" en lugar de la opción importar.
 +
 +
Un producto importado de esta manera se importa desde cualquier categoría.
  
Si un produit existe localement et qu'on le supprime (localement), on trouve un joli bug de synchronisation, où le produit apparaît ensuite toujours comme à "Modifier" plutôt qu'importer.
+
Un mensaje al terminarla importación nos indicará si el producto ha sido importado.
  
Un produit importé de la sorte est importé hors de toute catégorie.
+
== Importar un cliente ==
  
Un message consécutif à l'importation indique si le produit a été importé.
+
La importación de un cliente se realiza mediante el menú de la izquierda '''Clientes'''. Tendremos una lista de clientes y de forma idéntica a la lista de los productos, podemos elegir importar un cliente en Dolibarr desde OSCommerce a través del enlace '''Importar'''.
  
== Importer un client ==
+
Un mensaje informativo confirmará el éxito de la operación, indicando al mismo tiempo cuál es el identificador interno asignado a este cliente en Dolibarr.
  
Importer un client se fait via le menu de gauche '''Clients'''. Une liste des clients apparaît et, d'une façon identique à la liste des produits, on peut choisir d'importer un client dans Dolibarr depuis OSCommerce via un lien '''Importer'''.
+
== Importar un pedido ==
  
Un message d'information atteste de la réussite de l'opération, indiquant par la même occasion quel est l'identifiant interne attribué à ce client dans Dolibarr.
+
La importación de un pedido se realiza mediante el menú de la izquierda '''Pedidos'''.
  
== Importer une commande ==
+
La importación de un pedido requiere la previa existencia en Dolibarr del cliente y de los productos pedidos. Si este no es el caso, un mensaje indicará la falta de productos o clientes, y bloqueará la operación de importación.
  
L'importation d'une commande se fait via le menu de gauche "Commandes".
+
== Sincronizar una categoría ==
  
L'importation d'une commande nécessite la présence préalable dans Dolibarr du client et des produits concernés. Si ce n'est pas le cas, un message nous indique les produits ou clients manquants et bloque l'opération d'import.
+
La sincronización de las categorías están, a día de hoy, siempre a mano. El uso del menú de la izquierda '''categorías''' nos conduce a una página de lista de categorías existentes en Dolibarr. Es necesario indicar, para cada categoría de Dolibarr, a que categoría OSCommerce corresponde. De momento no es muy intuitivo, ya que es necesario conocer el número de categorías en OSCommerce para poder aplicar la correspondencia.
 
 
== Synchroniser une catégorie ==
 
 
 
La synchronisation des catégories se fait toujours à la main pour le moment. L'utilisation du menu de gauche '''Catégories''' nous mène à une page de liste des catégories existantes dans Dolibarr. Il est nécessaire d'indiquer, pour chaque catégorie de Dolibarr, à quelle catégorie de OSCommerce elle correspond. C'est assez peu intuitif pour le moment étant donné qu'il faut connaître le numéro de catégorie dans OSCommerce pour pouvoir appliquer la correspondance.
 
  
 
= Code =
 
= Code =

Revision as of 09:39, 14 March 2009

OSCommerceWS
Número/ID módulo {{{num}}}
Doc. módulo usuario OSCommerceWS
Doc. módulo desarrollador Esta página

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 页面等待翻译。若要翻译本页,先创建一个帐户、登录并返回本页后单击“编辑”。


Función

El módulo OSCommerceWS (antiguamente llamado OSCommerce2) permite sincronizar una parte de la información de una instalación OSCommerce2 con una instalación Dolibarr via Web services.

De este modo, es posible:

  • publicar en OSCommerce los productos introducidos en Dolibarr
  • importar los pedidos (y sus detalles) en Dolibarr desde OSCommerce
  • importar los clientes de OSCommerce en Dolibarr

Este módulo funciona a través de la utilización de una librería que facilita el uso de los web services: NuSOAP

Interfaz

Podemos acceder a la interfaz a través del menú OSCommerce en el menú superior de la interfaz por defecto de Dolibarr. Este menú nos da una primera página recapitulativa de los datos disponibles en OSCommerce.

El menú izquierdo permite acceder a más características, incluyendo las funcionalidades de sincronización.

La lista de funcionalidades siguientes utilizan la convención export=Dolibarr->OSCommerce y import=OSCommerce->Dolibarr

Exportar un producto

Al hacer clic en el link AddProd (que debe ser traducido al español como Añadir producto, vamos a la exportación de productos. Sólo tenemos que seleccionar un producto y una cantidad, a continuación, pulsar el botón OSCsell( que debe ser traducido al español por Vender en OSCommerce) para que la consulta de creación sea enviada.

Atención, la lista de los productos está limitada por las limitaciones de las listas de Dolibarr. Por tanto, puede ser que más allá de, por ejemplo, 50 productos, sea imposible ver el resto de los productos. Para cambiar este límite, podemos modificar la configuración de Dolibarr, o cambiarlo directamente en htdocs/oscommerce_ws/produits/OSCVente.php, buscar $html->select_produits y modificar $conf->produit->limit_size

Importar un producto

La importación de un producto se realiza a través del menú "Productos". La página de importación muestra una lista de productos disponibles en OSCommerce. El vínculo de la derecha muestra "Importar" o "Editar", en función de si los productos figuran o no en la tabla llx_osc_product.

Si un producto existe localmente y lo eliminamos (localmente), encontramos un bonito error de sincronización, donde aparece siempre el producto a "Editar" en lugar de la opción importar.

Un producto importado de esta manera se importa desde cualquier categoría.

Un mensaje al terminarla importación nos indicará si el producto ha sido importado.

Importar un cliente

La importación de un cliente se realiza mediante el menú de la izquierda Clientes. Tendremos una lista de clientes y de forma idéntica a la lista de los productos, podemos elegir importar un cliente en Dolibarr desde OSCommerce a través del enlace Importar.

Un mensaje informativo confirmará el éxito de la operación, indicando al mismo tiempo cuál es el identificador interno asignado a este cliente en Dolibarr.

Importar un pedido

La importación de un pedido se realiza mediante el menú de la izquierda Pedidos.

La importación de un pedido requiere la previa existencia en Dolibarr del cliente y de los productos pedidos. Si este no es el caso, un mensaje indicará la falta de productos o clientes, y bloqueará la operación de importación.

Sincronizar una categoría

La sincronización de las categorías están, a día de hoy, siempre a mano. El uso del menú de la izquierda categorías nos conduce a una página de lista de categorías existentes en Dolibarr. Es necesario indicar, para cada categoría de Dolibarr, a que categoría OSCommerce corresponde. De momento no es muy intuitivo, ya que es necesario conocer el número de categorías en OSCommerce para poder aplicar la correspondencia.

Code

Comme indiqué dans une ébauche de documentation très succinte au sein du code, c'est dans le répertoire htdocs/oscommerce_ws que l'on trouve le code de l'application. Il existe également pas mal de code dans un répertoire htdocs/boutique mais il est difficile de déterminer à quoi il sert (probablement au module OSCommerce1).

Le répertoire ws_server/ doit être copié sur le serveur OSCommerce, dans le répertoire catalog/. Il doit également être configuré, en modifiant le fichier ws_server/includes/configuration.php pour y placer la configuration de OSCommerce.


Problèmes

PHP5

La librairie NuSOAP originale (elle a été modifiée dans le code de Dolibarr pour la version 2.2) entre en conflit avec l'extension SOAP de PHP5, à cause du nom du client SOAP, soapclient qui est identique des deux côtés. Les autres classes ne causent pas de conflit.

Ceci donne lieu à une erreur du type "Cannot redeclare class SoapClient".

Erreur I/O

Il est possible que pour certaines requêtes le client (Dolibarr) renvoie une erreur fatale indiquant un problème d'entrée/sortie (une erreur HTTP 1.1 500 du côté serveur). Ce message d'erreur n'est pas très explicite dans le sens où il s'agit généralement d'un problème au niveau d'une méthode fournie en SOAP uniquement, et pas d'un script complet, comme il pourrait le laisser penser.

Pour corriger, une des deux méthodes suivantes est la bonne (pas encore pu filtrer, désolé): réordonner les appels, côté serveur, à $soap_server->register(méthode) ou donner des paramètres $in et $out à ces mêmes appels à register. D'une façon ou d'une autre, c'est cette partie qui pose problème.

Mon produit n'apparaît pas dans OSCommerce

OSCommerce nécessite une entrée de description de produit pour que le produit apparaisse. Autrement dit, il faut que le produit ait un nom (et éventuellement une description) qui lui soient propres. Tout ça est très joli, le seul problème (dépendant de la version de Dolibarr que vous utilisez) c'est qu'il est possible que la requête d'insertion de la description du produit du côté OSCommerce ne fonctionne pas. Il s'agit de la requête située dans ws_server/ws_articles.php, dans la fonction create_article(). Il faut en fait commenter les 3 lignes commençant par products_head dans le deuxième tableau. Un produit bien inséré dans OSCommerce renvoie inévitablement un message du type le produit JADAA2 Aerosol 60/2 est en vente en ligne consulter. Si ce message n'apparaît pas, il y a fort à parier que le produit n'a pas été inséré.