Contenido

Este complemento móvil de KontroliD permite dar formato a un texto al momento de captura en KontroliD. Puede entre otras cosas forzar a sólo teclado MAYUSCULA, limitar el número máximo de caracteres mostrando cuantos van del total y dar formatos a los números ya sea en decimales, separadores de miles, símbolo de pesos, etc. Esto evita tener que hacer manipulaciones de texto a nivel de funciones de cadenas y a su vez
facilita desde la fuente que el usuario ingrese un texto en un formato específico que luego pueda ser incluido en el reporte PDF.

El complemento KontroliD – TextFormat se instala en el dispositivo directamente desde Google Play.

Para usarla desde KontroliD, se incluye una pregunta tipo text en el formulario, colocando en apariencia el llamado a la aplicación externa: ex:com.kontrolid.app.textFormat con los parámetros correspondientes.
Parámetros
Este complemento requiere los siguientes parámetros o variables externas de entrada, las cuales deben especificarse como texto entre comillas simples o como ${pregunta}, excepto length que se especifica como entero sin comillas.
ex:com.kontrolid.app.textFormat(token=’ddddgdgg’,label='Ingrese un numero',numbers='true', lenght=15, uppercase=’true’, input=${Numero}, format=${Patron} ,direct='true')
token (Obligatorio)
Corresponde a la llave (Contraseña) requerida para que la aplicación se ejecute. Este token es único por cada aplicación y/o general por organización, por lo tanto, sólo es necesario incluirlo una vez en el formulario.
Ejemplo de token:
rOOWTJizQ682CXODpUnY7gxMmtU0+izMP/cSSeota1p/r2c1Nk0y1FoJuXThlVkwc84kdvdScgN3feQy2+k5Lw
label (Opcional)
Es un texto que se coloca como etiqueta de pregunta al abrir la aplicación. Útil cuando la aplicación está fijada para abrir automáticamente con parámetro auto=yes para orientar acerca del tipo de valor esperado. Aparece como primera línea de texto en negrita.
Ejemplo de label = ‘Ingrese un texto’

numbers (Opcional)
Definido como ‘true’ habilita únicamente el teclado numérico.
length (Opcional)
Se especifica como entero. Define un número de caracteres máximo permitido. Aparece una guía de caracteres ingresados vs. totales debajo de la línea de ingreso de texto.
uppercase (Opcional)
Definido como ‘true’ habilita únicamente el teclado MAYUSCULA.
input (Opcional)
Tipo cadena. Permite establecer un valor por defecto o el valor de entrada cuando es automático. Corresponde entonces al valor sin formato. Puede hacer referencia a una pregunta. Tenga en cuenta que si la pregunta es de tipo integer o decimal deberá primero convertirla a tipo cadena con una pregunta de cálculo con la función string(${tipo}) antes de pasarla como parámetro.
password (Opcional)
Cuando se especifica como ‘true’ el valor se muestra como una contraseña y
no será visible mientras se escribe. El valor se devuelve como una cadena hash SHA-256 indescifrable.
direct (Opcional)
Cuando se especifica como ‘true’ retorna el valor inmediatamente sin tener que hacer click en enviar.
format (Opcional)
Corresponde al patrón de formato numérico decimal deseado y permite
establecer como se visualiza el valor numérico como cadena de caracteres según los ceros iniciales y finales, prefijos y sufijos, separador de miles y separador decimal entre otros.
En general se puede indicar que el formato establecido para el separador de miles y el separador de decimales corresponde a la configuración establecida en el dispositivo. Por ejemplo, en el formato de región LATINOAMERICA, el separador de miles es el punto (.) y el de decimales es la coma(,). En la región EEUU (Idioma Inglés) es todo lo contrario con separador de miles la coma (,) y separador de decimal el punto (.):

El patrón del formato es una secuencia de caracteres especiales que pueden ser mezclados con texto libre y corresponde a la subclase de JAVA DecimalFormat.
Los más importantes son:
- 0 Devuelve un digito si lo hay, de lo contrario devuelve un 0. Ej: #.00
- # Devuelve un digito si lo hay, de lo contrario retorna vacío. Ej: ###.#
- . Indica donde se coloca el separador decimal. Si existe más en el valor numérico hace el redondeo. Ej: ###.### (Indica 3 cifras decimales)
- , Indica donde se coloca el separador de grupo (Ej separador de miles) Ej: ###,###
- % Multiplica el valor numérico por 100 y representa como porcentaje Ej: #.#% o %#
- ; Separa el patrón de número positivo del negativo Ej: ###.##;(###.##)
- E Notación Científica para base 10. Ej: ###0.#######E0
- PREFIJO Número SUFIJO Prefijo y Sufijo pueden ser cualquier texto Ej: $#,###.0;($#,###.0) El número equivalente es #.####
Ejemplos:
| Valor | Patrón | Resultado | Explicación |
|---|---|---|---|
| 123456.789 | ###,###.### | 123.456,789 | El símbolo # denota un digito, la coma el separador de miles y el punto el separador decimal. |
| 123456.789 | ###,###.## | 123.456,79 | El valor tiene 3 digitos a la derecha del punto decimal, pero el patrón tiene sólo 2. Entonces redondea hacia arriba de 789 a 79. |
| 123.78 | 000000.000 | 000123.780 | El patrón especifica ceros a la izquierda y a la derecha, ya que se usó en vez de #. |
| 12345.67 | $###,###.### | $12.345,67 | El primer carácter es el signo de $ y por eso se convierte en el primer carácter a la izquierda antes del número. |
| -12345.67 | $###,###.###;($#) | ($12.345,67) | Hay un punto y coma (;) que separa el patrón para los valores negativos. Al existir sólo un # se repite el patrón positivo. |
| 0.235 | .#% | 23,5% | El % hace que el valor se multiplique por 100 para representar porcentaje. |
KontroliD – TextFormat sólo se ejecuta desde KontroliD. Si se hace click en el icono directamente, verá un mensaje de error.

Ejemplo de uso
El siguiente video muestra un ejemplo del uso de este complemento
Descargue aquí el formulario del ejemplo.
