MSCRM 4.0: Introducción masiva de registros mediante lector de código de barras (AJAX)

22 11 2010

En este artículo os describo un nuevo desarrollo que hemos realizado en un proyecto para un cliente. Si bien tan sólo os describiré el funcionamiento y os mostraré algunas imágenes del componente, lo más importante del desarrollo es que hemos utilizado AJAX para mejorar el rendimiento.

El cliente nos solicitó un sistema para poder introducir la correspondencia devuelta de forma masiva. El usuario dispone de un lector de código de barras y toda la correspondencia devuelta está identificada con un código de barras (el código de barras se asigna de forma automática en la creación de cada registro de la entidad Correo Postal, o letter). El objetivo es disponer de una interface que permita ir identificando las cartas devueltas con el lector de código de barras y, una vez identificadas todas las cartas, procesarlas para crear un registro para cada una en una entidad llamada Devoluciones (que está relacionada con la entidad Letter). De este modo se consiguen los objetivos siguientes para el usuario:

1. No tiene que introducir manualmente cada código de barras ni localizar el registro en la entidad Letter

2. Puede seleccionar el motivo de la devolución y este se asigna a todos los registros que introduzca a continuación

3. No tiene que esperar a que se procese la devolución cada vez que introduce un registro, se procesan todos una vez introducidos todos los códigos de barra

Como comentaba al principio este desarrollo utiliza AJAX para mejorar el rendimiento del componente. En concreto se ha establecido dos zonas diferenciada en el formulario, una primera zona donde se introduce el código de barras mediante el lector y una segunda zona donde está el grid con los códigos introducidos. De este modo, el usuario puede ir leyendo códigos de barra sin esperar que se procese el registro.

Al componente se accede mediante un botón ISV en la vista principal de la entidad Devoluciones:

Una vez iniciado el componente, el foco del formulario se sitúa en el TextBox de introducción del código de barras. El lector recupera el literal del código de barras y emite un CR+LF para seleccionar el botón por defecto (Añadir). En ese momento se añade el registro leído a la tabla mediante un postback asíncrono. Previamente el usuario ha seleccionado el motivo de devolución que se asignará a todos los registros introducidos a continuación (puede modificarlo en cualquier momento). Gracias a la utilización de AJAX, mientras se procesan los registros, proceso que puede tardar unos minutos, se muestra un icono animado que da mayor sensación de robustez a la aplicación.

Una vez identificados todos los registros con su código de barras y el motivo de devolución, el usuario selecciona la opción Registrar. Al seleccionar esa opción se procesa cada uno de los registros introducidos. En concreto, para cada registro se crea un nuevo registro de la entidad Devolución (relacionado con la entidad Letter origen de la devolución). Al finalizar el proceso de todos los registros se muestra un icono para cada registro en el que se identifica si se ha podido procesar o no.

En estas imágenes estáticas no se puede apreciar como la utilización de AJAX mejora enormemente el funcionamiento del componente. Para que os hagáis una idea, sin AJAX, cada registro que se introducía en la tabla mediante el código de barras tardaba del orden de 3 segundos además del refresco de toda la ventana. Tras aplicar AJAX, el proceso de introducción de un registro es instantáneo e incluso el refresco de la tabla es imperceptible. En cualquier caso, si se produce una demora la ventana muestra un texto de progreso con lo que el usuario está informado (la venta no se bloquea!!!).

Anuncios

Acciones

Information

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: