Inicio Blog Cómo habilitar el procesamiento paralelo en las pantallas de procesamiento de Acumatica

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Kyle Vanderstoep | 31 de octubre de 2021

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Acumatica, posicionado como un ERP de mercado medio, puede implantarse en una amplia variedad de empresas, ya sean grandes, medianas o pequeñas. A medida que las empresas experimentan un crecimiento, aumenta la cantidad de datos que necesitan gestionar. Sin embargo, en mi experiencia en el desarrollo de código personalizado en la plataforma Acumatica, me encuentro con un número significativo de organizaciones con las que trabajo que no dan abasto a la hora de gestionar y procesar datos.

Acumatica dispone de una amplia variedad de pantallas de procesamiento para realizar diversas tareas "en masa" y, además, cuenta con un marco sólido pero fácil de seguir para implementar sus propias pantallas de procesamiento. Sin embargo, los registros se procesan de forma secuencial (1,2,3, etc.). Afortunadamente, es posible habilitar el procesamiento paralelo para clientes con grandes necesidades de procesamiento de datos.

El procesamiento paralelo aprovecha el hecho de que las aplicaciones pueden utilizar más de un hilo de procesamiento a la vez. Piense en los días anteriores a los ordenadores, en los que los oficinistas procesaban manualmente las transacciones a mano. ¿Cómo se aceleraba el número de transacciones que se podían registrar? O bien se buscaba por todas partes al empleado milagroso que fuera superrápido, o simplemente se contrataba a más empleados y se repartía el trabajo equitativamente entre ellos. Acumatica puede configurarse de forma similar.

Para habilitar el procesamiento Paralelo, necesita añadir las siguientes claves al archivo web.config bajo el nodo Configuración/Ajustes:

GIST: https://gist.github.com/lekker-solutions/320b32b5eeb15e36ce29957095862b3d

Para probarlo, vamos a añadir estas claves al archivo web.config y crear una pantalla de procesamiento básica que procese una lista de registros:

GIST: https://gist.github.com/lekker-solutions/46b8a010c4ceae41bea63707b8e9ba22

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Aunque hayamos añadido las claves, la pantalla de procesamiento sigue devolviendo la lista completa de Lotes GL cuando se selecciona "Procesar todo".

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Esto se debe a que las teclas sólo establecen una regla global en el procesamiento. Todavía tiene que ser habilitado en su pantalla personalizada en sí. El siguiente código muestra cómo hacerlo:

GIST: https://gist.github.com/lekker-solutions/33552d7e645905d0a995a9df7f56db49

Ahora vamos a intentar procesar el botón todo:

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Cuando se mira el resultado de la pantalla de procesamiento, se puede ver que todos los registros han sido procesados a pesar de que ese hilo que cogimos sólo vio 10:

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

A continuación se muestra un diagrama que ilustra la diferencia entre ambos, y dónde se encuentra el punto de interrupción en el código:

Activación del procesamiento paralelo en las pantallas de procesamiento de Acumatica

Durante el procesamiento secuencial, el hilo (también conocido como el empleado) veía toda la lista de elementos a procesar. En el procesamiento paralelo, el hilo sólo veía el número máximo de elementos (especificado a nivel máximo en el archivo web.config y adicionalmente en las opciones de procesamiento paralelo a nivel de pantalla).

El procesamiento paralelo, aunque no es una bala de plata, puede aumentar significativamente la capacidad de procesamiento para los usuarios de Acumatica que trabajan con grandes cantidades de datos. Con unos pocos cambios en el archivo web.config, puede habilitarlo fácilmente tanto en el código ERP base como en su código personalizado. No hay necesidad de gestionar sus propios hilos y las demás complejidades que ello conlleva.

Espero que este artículo le ayude con el volumen de procesamiento de datos que aumenta a un ritmo cada vez más rápido en este mundo en transformación digital.

¡Feliz codificación!

 

 

Autor del blog

Kyle ha interactuado con sistemas ERP desde muy joven. Su primera asignación provino de probar las personalizaciones de su padre en la plataforma MAS 500. Kyle estudió y trabajó en el campo de la ingeniería mecánica durante casi una década y se dio cuenta de que volver al software sería el mejor curso de acción. Una solicitud para crear algunas personalizaciones básicas para un futuro usuario de Acumatica en el área de la Bahía de San Francisco enganchó a Kyle a la plataforma xRP de Acumatica. Desde entonces, ha sido su único objetivo. Kyle desarrolla de forma independiente, así como con socios como Nims & Associates, un VAR local del Área de la Bahía. En esta capacidad, ha desarrollado y configurado importantes integraciones verticales para usuarios finales de Acumatica, en una amplia gama de industrias, desde pruebas genéticas hasta fianzas de contratos y servicios de seguros. En su tiempo libre, Kyle disfruta del trail running, el esquí de montaña y la caza.

Reciba las actualizaciones del blog en su bandeja de entrada.