Entradas

Conector de MRW para OpenERP (dx_mrw_connect)

Datos de Configuración

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.
capturas_openerp

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

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.


capturas_openerp

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

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

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.
  • Si 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
capturas_openerp

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

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.
capturas_openerp

Si desde la última comprobación se ha creado algún fichero se crea el procesamiento de IAPO y se intenta validar, 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

Si 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. Si fuese un error en el fichero se podría cancelar para que no apareciese como erróneo.

Los errores que se contemplan son los siguientes:

  • 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

Integración de MRW en OpenERP

El sistema de gestión de MRW genera y procesa diferentes archivos para controlar todo el proceso logístico. En esta primera fase de nuestro conector se va a poder generar un IAPI (Previsión de entrada) desde un pedido de compras validado de OpenERP, para indicar a MRW que espera la recepción de esos artículos. Y cuando MRW realice ese envío a almacén generará un IAPO (Mercancía Recepcionada), en nuestro módulo indicaremos donde se encuentran esos ficheros y los procesará, validando los movimientos de stock asociados al pedido de compras que generó el IAPI. En el Procesamiento del IAPO se pueden producir muchos errores por incoherencia en los datos en los dos sistemas así que también se esta desarrollando un completo sistema de control de errores con mensajes para que el usuario pueda saber que ha generado la importación de un IAPO y si no se ha podido importar o generar la acción prevista cuales han sido los motivos.

Con esto conseguiremos una recepción de materiales automática en los envíos gestionados por MRW.

En breve liberaremos el desarrollo y realizaremos un apunte más completo del funcionamiento. Permaneced atentos al blog.