Funciones para obtener y asignar valores a campos numéricos con MASCARA
Para Asignar y Obtener (por JavaScript) los valores de un campo del tipo numérico al cual se le aplico alguna mascara se deben utilizar las siguientes funciones (ambas se encuentran en el archivo Activity.js):
Función para obtener valores:
GetNumericMaskedValue(nombreControlInput)
A la función es necesario pasarle como parámetro el nombre del campo con su respectivo CTL. A continuación se muestra un ejemplo que nos permite visualizar el valor de un campo del tipo numérico, con mascara aplicada, en un pop up:
<a id=”lnkGetMask” style=”width: 179px;” class=”ovalbutton” href=”javascript:alert(‘Total Horas:’ + GetNumericMaskedValue(‘CALL.TOTAL_HORAS:ctl_50’));”><span>Recuperar valor numérico</span></a>
Función para asignar valores:
SetNumericMaskedValue(nombreControlInput, valorNumérico)
La función recibe dos parámetros: El primero es el nombre del campo con su respectivo CTL y el segundo es el valor que le queremos asignar al campo pasado como primer parámetro.
Un ejemplo de cómo utilizar esta función es el siguiente:
<a id=”lnkSetMask” style=”width: 179px;” class=”ovalbutton” href=”javascript:SetNumericMaskedValue(‘CALL.TOTAL_HORAS:ctl_50’, ‘9876.543’);”><span>Asignar valor numérico</span></a>
Nota: Para los campos del tipo numérico a los cuales no se le aplico ninguna mascara, la forma de obtener los valores a través de JavaScript sigue siendo la misma que antes de la inclusión de las máscaras. Por ejemplo, a través de la utilización de la función “document.getElementsByName(“CALL.TOTAL_HORAS:ctl_50”)[0].value”.
Información Adicional:
En los archivos de configuración de Kernel, Scheduler y Campaign se agregó un nuevo parámetro:
<appSettings>
<add key=”NumericFormatCulture” value=”es-AR”/>
</appSettings>
El parámetro se usa para que la máscara se aplique con una cultura específica y pueda ser igualada a la que tiene el Agente Web. El valor del parámetro tiene la forma: “languagecode2-country/regioncode2”, y está documentado en: https://msdn.microsoft.com/en-us/goglobal/bb896001.aspx
Los servicios de Engage siempre deben ser configurados con los números en inglés, para que no haya conflictos en los queries contra la base de datos. Pero las máscaras pueden utilizar una cultura distinta, dado que simplemente se usan para visualizar el dato y no para actualizar la base de datos.