Módulo OSCommerceWS (desarrollador)

From Dolibarr ERP CRM Wiki
Revision as of 09:43, 14 March 2009 by Simnandez (talk | contribs) (→‎Code)
Jump to navigation Jump to search
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.

Código

Tal y como se indica en una breve documentación, en el código se encuentra en la carpeta htdocs/oscommerce_ws donde encontraremos el código de la aplicación. También hay una gran cantidad de código en la carpeta htdocs/boutique pero es difícil determinar para qué se utiliza (probablemente el módulo OSCommerce1 ). La carpeta ws_server/ debe ser copiada en el servidor de OSCommerce, en la carpeta catalog/. Debe configurarse, modificando el fichero ws_server/includes/configuration.php indicando la configuración 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é.