Conector de MRW para OpenERP (dx_mrw_connect)
Introducción sobre ‘Conector de MRW para OpenERP’:
En Domatix se ha estado trabajando para crear un módulo que permita desarrollar un Conector de MRW para OpenERP
MRW utiliza un sistema cerrado que permite exportar e importar ficheros de texto plano, por lo que el desarrollo ha consistido en la creación de ficheros importables en la aplicación de MRW y la importación de ficheros generados por esta aplicación.
Para esta primera versión del conector se han desarrollado el proceso de ficheros IAPI e IAPO.
-
Por una parte, IAPI se importa en la aplicación de MRW siguiendo un formato y contiene la información de un pedido de compra. Habrá que generarlo en OpenERP desde un pedido cumpliendo con el formato especificado.
-
Por otra parte, IAPO se genera en la aplicación de MRW y contiene información sobre albaranes de entrada. Habrá que proveer de un sistema de importación de estos ficheros en OpenERP.
En https://github.com/domatix/openerp-dx_mrw_connect se ha publicado el proyecto y está disponible para su descarga.
Datos de Configuración:
En primer lugar, para la generación e importación de ficheros de MRW necesitaremos los siguientes campos en OpenERP:
-
Código de Cliente de MRW
-
Código de Campaña de MRW
-
Ruta de generación de ficheros IAPI
-
Ruta de importación de ficheros IAPI
En principio según lo visto en el proyecto se ha asociado la configuración de datos de mrw a la tienda, y se ha asociado la tienda en el pedido de compra.
Configuración de la tienda
La importación y exportación de ficheros sigue la siguiente nomenclatura de ficheros MRW:
<nombre del interfaz>_<cliente>_<campaña>_YYYYMMDDHHMMSS.txt
Donde:
-
Nombre del interfaz será: IAPI o IAPO
-
Cliente: código de cliente asignado por MRW
-
Campaña: código de la campaña asignado por MRW
- Codificación ISO 8859-1 (ISO Latín 1)
Generación del IAPI:
En segundo lugar, se ha asociado al pedido de compras un nuevo objeto que representa el IAPI.
En el formulario del pedido de compras se ha añadido una nueva solapa de MRW con el campo tienda, el campo del IAPI y un botón que genere el fichero en el directorio asociado en la configuración de la tienda.
Pedido de Compra – Generación del IAPI
Los campos obligatorios para crear el IAPI que tenemos que recuperar de OpenERP son:
-
Código de cliente, asociado a la tienda asociada al pedido de compra.
-
Código de la campaña, asociado a la tienda asociada al pedido de compra.
-
Ruta del fichero, asociado a la tienda asociada al pedido de compra.
-
Código del pedido, código del pedido de compra del propio OpenERP.
-
Fecha de creación del IAPI.
-
Fecha estimada de entrada, por defecto el día siguiente al de creación.
-
OD, nombre del proveedor en OpenERP.
-
Nº linea, del pedido de OpenERP.
-
Código del artículo, será el código del artículo en Magento, en OpenERP al sincronizar con Magento se almacena en magento_sku.
-
Cantidad, la pedida en OpenERP.
La generación del fichero del IAPI en principio será manual pero en el futuro se podrá ampliar el desarrollo para generarlo automáticamente al validar el pedido de compra.
El botón de generar el IAPI sólo se podrá ejecutar si el pedido de compra está validado, no se podrá ejecutar si está en estado de solicitud de presupuesto o si ya se ha entregado.
Importación del IAPO:
En tercer lugar, para la importación de IAPO se ha creado un nuevo objeto con los siguientes campos:
-
Nombre del fichero
-
Fecha de creación
-
Mensajes o histórico
-
Estado (Borrador, Procesado, Error, Cancelado)
-
Listado de líneas del IAPO
Workflow de Importación de IAPO:
Para poder continuar, se ha creado un workflow que gestionara el paso de un estado a otro del objeto que representa la importación de un IAPO.
El funcionamiento es el siguiente:
-
Creación de una Importación de IAPO, se creará un registro de importación en estado borrador, con la fecha actual, y el nombre del fichero. Podremos guardar en borrador o procesar para pasar al siguiente estado.
-
Al procesar el IAPO, si hay algún error con el formato del fichero o los datos del mismo el registro pasará al estado Error.
-
En el supuesto de que, al procesar el IAPO los datos son correctos el IAPO pasará a estado Procesado, se crearán los albaranes que corresponda y se podrán consultar desde el propio IAPO en su historial.
-
Si los datos del IAPO son correctos y da un error que se pueda solucionar desde OpenERP se podrá reprocesar el IAPO para que pase de Error a Procesado una vez solucionado el problema en OpenERP.
-
Un IAPO en estado error o borrador se podrá cancelar para que pase a estado cancelado y no tenerlo en cuenta en posibles revisiones de IAPO erroneos.
En el listado de Procesamiento de IAPO, se puede observar a simple vista el estado de un procesamiento según el color de la línea.
Azul = Borrador
Verde = Procesado
Rojo = Error
Gris = Cancelado
Listado de Procesamiento de IAPO
También se permite filtrar por un determinado estado con lo que se podrá comprobar a simple vista si se ha producido algún error en el procesamiento del IAPO.
Procesamiento automático de IAPO:
A continuación, se ha creado una acción de servidor que automáticamente comprueba si se ha creado algún fichero en los directorios indicados en la configuración de cada tienda.
De hecho, si desde la última comprobación, se ha creado algún fichero se crea el procesamiento de IAPO y se intenta validar.
Además, si el fichero es correcto y se corresponde con los datos del sistema se importará el IAPO se validará el albarán correspondiente y el procesamiento pasará a estado Procesado.
Si al intentar validar hubiese algún error el procesamiento quedaría en estado error y se guardaría el mensaje de error correspondiente.
Errores de procesamiento del IAPO:
Por último, trataremos los posibles errores de procesamiento del IAPO.
- Al procesar un IAPO surgiese algún error se quedaría almacenado el mensaje en el sistema y el Procesamiento de IAPO quedaría en estado Error.
- Si fuere un error de datos que se pudiese solucionar en OpenERP se podría intentar solucionar y volver a procesar.
- En el caso de que, fuese un error en el fichero se podría cancelar para que no apareciese como erróneo.
A continuación, mostramos los errores que se contemplan:
-
No existe el proveedor:
‘Error – Proveedor [cod_proveedor] de la linea [num_l] del IAPO no existe en OpenERP’
-
No existe el pedido:
Error – Pedido de compra [demanda] del proveedor [od] de la linea [num_l] del IAPO no existe en OpenERP’
-
No existe el producto:
Error – Producto [cod_producto] de la linea [num_l] del IAPO no existe en OpenERP’
-
No existe el proveedor:
‘Error – Linea del pedido de cantidad [‘+line.cantidad_original+’] del producto [‘+line.articulo_id+’] de la linea [‘+line.num_l+’] del IAPO no existe en OpenERP’
-
No existe el movimiento:
‘Error – Movimiento de la linea [‘+line.num_l+’] del pedido de compra [‘+line.demanda+’]del IAPO no existe en OpenERP’
- Error de formato o leyendo el disco:
‘ERROR –
Importando el fichero ‘+file_path+’, no se ha podido leer el fichero o no cumple las especificaciones’,’iapo_id’:iapo_id
Read more http://www.domatix.com/es/blog/conector-openerp-mrw
A continuación, le facilitaremos algunos enlaces que pueden incluir información relevante para usted, relacionada con ‘Conector de MRW para OpenERP’ pulsando aquí.