Ejecución de la búsqueda de clientes con parámetros
A partir de 5700 se modificaron los parámetros de la búsqueda de clientes, y se hizo obligatorio informar el parámetro “action_name” si se quiere ejecutar la búsqueda con parámetros. Si no se informa, la búsqueda funcionará como lo hace en forma estándar en la solapa de búsqueda de clientes del Agente Web, y el resto de los parámetros se descartará. Los siguientes son los valores que acepta “action_name”:
autosearch: sólo para buscar un cliente y no realizar ninguna acción
profile: para realizar la búsqueda de un cliente y ejecutar el proceso de perfil asociado al mismo
startactivity: para realizar la búsqueda de un cliente y ejecutar un proceso
Los parámetros de la búsqueda de clientes que dependen del valor de “action_name” son los siguientes:
autosearch: no tiene parámetros asociados
profile:
windowtype (opcional, default=blanco): puede ser “popup”, “iframe” o blanco, y sirve para adaptar la ventana del perfil según se abra en un popup o un iframe, o si se quiere que aparezca la interface completa del Agente Web.
start_params (opcional, default=blanco): son los parámetros que se envían al proceso de perfil, con el formato: “NOMBREPRM1=VALORPRM1;NOMBREPRM2=VALORPRM2;…;NOMBREPRMn=VALORPRMn”
startactivity:
windowtype: idem profile, pero para un proceso estándar.
start_params: idem profile, pero para un proceso estándar.
jobTypeCode: código del proceso que se quiere ejecutar.
jobOriginPkey: pkey del proceso padre del proceso que se quiere ejecutar.
Un parámetro común a todas las acciones es “unitid”, y se usa para posicionarse en una unidad específica al momento de ejecutar la búsqueda. Esto es útil cuando determinado proceso está disponible sólo para algunas unidades, y si el usuario ya tiene una sesión activa y está posicionado en otra unidad, el proceso dará error. De todas maneras, hay que tener en cuenta que si el usuario ya estaba trabajando con otra unidad, el cambio automático de unidad hará que los procesos activos den error. Por eso mismo, es recomendable usar el parámetro “unitid” solamente cuando se trabaja desde URLs invocadas con parámetros, y sin tener un Agente Web activo que comparta la misma sesión.
El resto de los parámetros que acepta la url se usan para poblar automáticamente los campos de filtro, y deben tener el mismo nombre que el control HTML dentro del ASPX customizable. Por ejemplo, si se quiere buscar un cliente por nombre y el campo del filtro tiene el siguiente HTML, con el ID=T3:
<div class=”FilterElement”>
<div class=”FilterElementTitle” style=”width: 125px;”>Nombre del Cliente:</div>
<telerik:RadTextBox ID=”T3″ runat=”server” EnableEmbeddedSkins=”false” Width=”250px” CssClass=”riTextBox_bs” EnableViewState=”False”>
<ClientEvents OnKeyPress=”ShortAccess” />
</telerik:RadTextBox>
</div>
Entonces, en la URL se puede informar el parámetro T3=soluciones
Si en la URL no se informa ningún parámetro que coincida con los nombres de los campos de input, entonces aparecerá la interface estándar de la búsqueda de clientes.
Dentro del ASPX customizable de la página, se agregó el campo hidden txtRequiredFilters, que incluye un comentario con la siguiente explicación:
En este hidden se arma un xml con la lista de campos de input del filtro que son obligatorios. Los parámetros son los siguientes: src, es el ID del campo del filtro cuyo valor se evaluará; for, es la forma de invocación de la búsqueda de clientes para la cual tendrá vigencia el control (los valores posibles son: autosearch, cuando los filtros de búsqueda se pueblan desde la url; interactive, cuando los filtros de búsqueda los puebla el usuario; both -default- cuando se utilizan los dos casos anteriores en forma simultánea); message, es el mensaje que se mostrará en caso que el valor del campo de input informado en el parámetro src esté vacío, o puede ser un blanco si sólo se quiere hacer el control pero sin mostrar un alerta. Por cada campo de input del filtro que quiera controlarse, debe agregarse un nodo <required/>.
Un ejemplo de dicho hidden sale de fábrica con el siguiente valor:
<input runat=”server” id=”txtRequiredFilters” type=”hidden” value=”<required src=’T3′ for=’autosearch’ message=’El nombre del cliente es un filtro obligatorio.’/>” />
La idea de ejecutar la búsqueda de clientes con parámetros es que, si se encuentra uno y sólo un cliente, el proceso o el perfil se ejecutan automáticamente. Pero si no se encuentran clientes o si se encuentra más de uno, entonces se muestra la grilla de la búsqueda para que pueda seleccionarse manualmente un cliente o para que pueda volver a ejecutarse la búsqueda informando manualmente los parámetros.
Si al momento de invocar a la URL ya hay una sesión de Engage activa, se utiliza esa. Sino, se abrirá un popup para ingresar usuario y clave, y luego se ejecutará la búsqueda automáticamente.