Contenido
La plantilla Excel es la opción de diseño de formularios más adecuada para formularios extensos y usuarios con experiencia. Esta plantilla sigue los estandares XLSForms y es una hoja de cálculo (archivo Excel xls) que le permite agregar y modificar las preguntas y diversos ajustes del formulario de forma offline para que luego pueda cargar el formulario al servidor.
Descargar la plantilla
Para descargar la plantilla en inicio dirijase a Formularios y allí seleccione Descargar plantilla.


Se descargará a su computador el archivo llamado PlantillaFormulario.xlsx. Esta plantilla aparte de las hojas que le permitiran diseñar y modificar su formulario, trae un grupo de hojas con ayudas y definiciones para que lo guíen en el proceso de edición del formulario, por ejemplo, para la hoja survey, hay una hoja llamada ayuda-survey que puede emplear como guía para consultar los significados de las columnas, los tipos de preguntas e incluso como modificarlas.
Descripción de la plantilla
La plantilla en excel tiene 5 hojas, survey que contiene las preguntas del formulario, choices donde se definen las opciones de las listas de selección, settings que contiene la configuración del formulario, styles y conditions estas 2 últimas se emplean en los formularios de supervisión por lo cual generalmente solo empleará las 3 primeras:

Survey
Esta hoja de cálculo define la estructura general del formulario. Contiene la lista completa de preguntas e información sobre cómo deben aparecer en el formulario. Normalmente, cada fila representa una pregunta; sin embargo, hay otras características que se describen a continuación y que se pueden agregar al formulario para mejorar la experiencia del usuario.
La hoja de cálculo survey tiene tres columnas obligatorias: type, name y label.
- La columna type especifica el tipo de pregunta de XLSForm que se va a agregar. Hay una lista bien definida de tipos de preguntas posibles para esta columna.
- La columna name determina el nombre de la pregunta en la que se almacenará la respuesta. No se admiten espacios ni caracteres especiales en esta columna. Debe empezar con una letra o _ y puede contener letras, números, ., _ y -. No puede haber dos preguntas con el mismo nombre.
- La columna label contiene el texto para las preguntas. Este es el texto que verá en el formulario. Se admiten espacios y caracteres especiales en esta columna. Como alternativa, se pueden usar columnas de traducción de etiquetas. Las etiquetas también admiten el uso de variables que se reemplazarán en su formulario con la respuesta a otra pregunta, así como una cantidad limitada de etiquetas HTML.
Choices
Esta hoja de cálculo se usa para especificar las opciones de respuesta para las preguntas de selección. Cada fila representa una opción de respuesta. Las opciones de respuesta con el mismo nombre de lista se consideran parte de un conjunto relacionado de opciones y aparecen juntas para una pregunta. Esto también permite reutilizar un conjunto de opciones para varias preguntas (por ejemplo, preguntas sí/no).
La hoja de cálculo choices tiene tres columnas obligatorias: list name, name y label.
- La columna list_name permite agrupar un conjunto de opciones de respuesta relacionadas. Las opciones con el mismo nombre de lista se presentarán como el conjunto de respuestas para una pregunta.
- La columna name especifica el valor que se conservará en KONTROLID cuando se elija esa opción. Los valores de la columna name no aceptan caracteres especiales.
- La columna label muestra la opción de respuesta tal y como se desea que aparezca en el formulario. Como alternativa, se pueden usar columnas de traducción de etiquetas.
Al crear formularios en Excel, es importante recordar que la sintaxis utilizada debe ser precisa. Por ejemplo, si escribe Choices o choice en lugar de choices, el formulario no funcionará.
Settings
La hoja de cálculo settings es opcional y le permite personalizar más el formulario. Es decir, como su nombre lo indica, en esta hoja se realiza la configuración general del formulario o Ajustes. La personalización disponible incluye un título que se mostrará mientras se edita el formulario, un nombre de instancia para identificar de forma única cada formulario completado, un identificador de llave único para el formulario y otras funciones.
En esta hoja se especifica todo lo que se indica en la opción Archivo->Ajustes del editor web
Styles
Permite manejar colores en las respuestas cuando estas se visualizan en consola. Esta hoja es opcional y por lo general no se emplea a no ser que se estén manejando formularios de supervisión.
Conditions
Al igual que styles esta hoja es opcional y solo se emplea con formularios de supervisión. Puede agregar valores adicionales al formulario que se calculan en el servidor, es decir, valores que no son ingresados por el usuario. Estos cálculos del servidor pueden consistir en una función “if” que establece su valor de forma condicional en función de los valores de otras preguntas. Estas condiciones se especifican en esta hoja.
¿Cómo usar la plantilla?
La plantilla de KontrolId que descarga tiene páginas con instrucciones de como emplearla, pero en general solo es necesario indicar el tipo de pregunta, nombre y el texto que vera el usuario, con exepción de las preguntas de selección para las cuales deberá indicar las opciones. Las demás columnas en las hojas le permitirán modificar la pregunta, tenga en cuenta que estas columnas son opcionales.
Los tipos son los mismos tipos de preguntas que hay en el editor web con la aclaración que en la plantilla el tipo de pregunta debe ir en inglés dado el estándar XLSForm. Las columnas opcionales permitirán modificar elementos de la pregunta y el orden de las mismas no afecta la importación. Sin embargo, tenga en cuenta que dada esta caracteristica el orden de las columnas puede cambiar entre una versión y otra por lo que si va a copiar y pegar filas de un formulario a otro, antes de cargarlo al servidor asegurece que la información esta en la columna que deberia, por ejemplo, que la información de apariencia no aparezca en parámetros o en la columna de los cálculos.
Una forma de adquirir habilidades en el uso de esta plantilla es precisamente descargar un formulario ya realizado, analizarlo, modificarlo y subirlo nuevamente al servidor.
Filas y columnas de la plantilla
En la plantilla XlsForm como vimos anteriormente la estructura principal del formulario se define en la hoja settings, en esta hoja cada fila corresponde a una pregunta y cada columna a una caracteristica de la pregunta.
Una pregunta (question) es un elemento de entrada que se espera del formulario y para los cuales se definen distintas propiedades que determinan su comportamiento y su diseño visual. En programación puede considerarse equivalente a una variable.
La plantilla permite entonces realizar las mismas configuraciones y diseños que el editor web (y algunos más), con la salvedad que las columnas y los tipos de preguntas se especifican en inglés.
Para cada pregunta nueva del formulario defina en una fila de la hoja settings las siguientes caracteristicas (o columnas):
Survey
Tipo (type): (obligatoria) Define el tipo de dato esperado y por ende determina qué valores puede recibir. Una vez un formulario ha tenido datos ingresados y subido al servidor no podrá cambiarse el tipo de pregunta, salvo en algunos casos excepcionales donde la compatibilidad lo permite.
Nombre(name): (Obligatoria) Es el el nombre de la pregunta en la que se almacenará la respuesta. No se admiten espacios ni caracteres especiales en esta columna. en programación es el nombre de la variable. Debe empezar con una letra o guión bajo (_) y sólo puede contener letras, números, guión bajo(_), guión(-) y punto(.). Solo admite letras del alfabeto inglés, por lo que la Ñ por ejemplo está excluida. Finalmente debe tener menos de 64 caracteres.
Etiqueta o Texto de pregunta (label): Corresponde al texto de la pregunta y será lo visible al usuario para interpretar el valor esperado en la pregunta. Se muestra en el dispositivo como texto en negrita y puede personalizarse usando etiquetas HTML o referencias a otras preguntas. Si bien no es obligatoria, sin ella el usuario final del formulario no sabra que le estan preguntando.
Texto de ayuda (hint): Corresponde al texto secundario o de ayuda que acompaña a la pregunta y será visible al usuario en itálica, debajo del texto de la pregunta. También puede ser personalizado con etiquetas HTML.
Guía(guidance_hint): Es información adicional que se puede emplear para dar indicaciones al usuario con respecto a la pregunta, en la columna coloque la información como tal, pero la forma en como aparecerá esta información se configura de forma general para la organización o en el dispositivo.
Apariencia (appearance): Determina el modo como visualmente se mostrará la pregunta en el móvil o web, o el comportamiento del pdf nativo.
Parámetros (parameters): Especifica valores requeridos para algunos tipos de preguntas.
Restricción (constraint): Definido como fórmula, evalúa una condición para restringir los valores aceptados para la pregunta a la cual se aplica. Por ejemplo, si para una pregunta de edad, debe cumplirse que sea mayor de 18 años, la restricción sería algo así: ${edad} > 18.
Mensaje de Restricción (constraint message): Corresponde al texto que se despliega cuando no se cumple la restricción para orientar al usuario sobre qué valor es permitido.
Relevancia (relevant): Definido como fórmula, evalúa una condición para determinar si la pregunta será visible o no al usuario. Es la forma de aplicar lógica para establecer preguntas alternas o que sólo deben responderse según unas determinadas condiciones.
Obligatorio (required): Definido como yes/no o true/false establece la obligatoriedad de dar respuesta o no a una pregunta.
Mensaje de indicación de obligatoriedad(required message): Información para indicarle al usuario porque la pregunta es obligatoria, si no se coloca el mensaje por defecto solo dirá que es obligatoria.
Sólo lectura (readonly): Definido como yes/no o true/false establece si una pregunta admite o no respuesta (será sólo visible).
Por defecto (default): Permite establecer un valor por defecto a mostrarse como respuesta sugerida. Este valor debe ser estático (constante)
Precisión GPS (body::accuracyThreshold) : Para una pregunta de geolocalización, determina el nivel de precisión para captura automática.. Está determinado en metros a la redonda. O sea, cuando se alcanza esa precisión, el dato se captura automáticamente.
Cálculo (calculation): Fórmula de cálculo. Cuando la pregunta es tipo calculate, corresponde a la fórmula en sí mismo. Cuando es aplicada sobre otro tipo de pregunta permite establecer unos valores por defecto de manera dinámica, pero debe aplicarse una función adicional once() si va a permitir cambiar el valor por el ingresado. Ver detalle adelante en tipo calculate.
Cálculo en el servidor(server_calculation): fórmula de cálculo. Aplica solo para preguntas de calculos en el servidor, generalmente empleadas en formularios de supervisión.
Estilo (Style list): Indica la lista de estilos. Aplica solo para formularios de supervisión.
Multimedia (audio/video/image): Establece los archivos multimedia que pueden acompañar a las preguntas. Antes de poderlos asignar deben haberse cargado al servidor.Para ver como cargar estos elementos dirijase a la sección de administración al artículo Recursos compartidos.
Autoplay (autoplay): Definido como video o audio establece si el elemento multimedia debe iniciarse inmediatamente cuando se activa la pregunta. Cuando está vacía, el usuario deberá hacer click en el ícono de play para reproducir el elemento multimedia.
Nombre en cabecera (display_name): Es una etiqueta más corta que define el nombre que se mostrará como cabecera en las tablas, archivos exportables en Excel o los de consulta a las APIs y busca proveer una herramienta que facilite el entendimiento de la pregunta (variable), sin las restricciones de los nombres de preguntas o lo largo que pueden ser las etiquetas.
choices
Lista (list_name): (Obligatoria) Nombre de la lista permite agrupar un conjunto de opciones de respuesta relacionadas. Las opciones con el mismo nombre de lista se presentarán como el conjunto de respuestas para una pregunta.
Filtro de opciones (Choices_filter): se emplea en las preguntas de selección con filtro o en cascada.
Nombre (name): (Obligatoria) especifica el valor que se conservará en KONTROLID cuando se elija esa opción. Los valores de la columna name no aceptan caracteres especiales. De forma similar a la hoja settings este es el nombre de la variable para la opción.
Etiqueta(label): muestra la opción de respuesta tal y como se desea que aparezca en el formulario. Si bien no es obligatoria de no colocarla el usuario no sabra lo que esta respondiendo. Tenga en cuenta que las etiquetas y los nombres son distintos, la etiqueta es lo que ve el usuario, pero lo que ve el servidor y el formulario para cálculos y demás es el nombre.
Nombre en cabecera (display_name): Cuando se quiere mostrar las opciones no comprimidas en el módulo de análisis, estas aparecen como columnas individuales con un 0 en caso de que la opción no se seleccione y un 1 en caso de que si. Esta columna permite de forma similar a la pregunta indicar un nombre distinto al name para la cabecera de la columna.
Multimedia (audio/video/image): Establece los archivos multimedia que pueden acompañar a las opciones. Antes de poderlos asignar deben haberse cargado al servidor.Para ver como cargar estos elementos dirijase a la sección de administración al artículo Recursos compartidos.
Cantidad de repeticiones(repeat_count): indica el número de veces que se repetira un grupo de repetición. Admite valores enteros o referencia a una pregunta cuya respuesta sea un número entero.
settings
A diferencia de las hojas anteriores en esta hoja solo podrá completar una fila, es decir, podrá indicar un único valor para cada columna. Cada columna corresponde a un ajuste al formulario. Son los mismos ajustes que puede realizar desde el editor web con la anotación que los nombres de las columnas y las respuestas en general deben indicarse en inglés.
Idioma (default_language): Idioma por defecto del formulario. Si su formulario no se escribe para más de un idioma deje la opción que se encuentra por defecto (languaje).
Nombre de instancia (instance_name): Nombre que recibira cada instancia y/o registro completado del formulario, este nombre es el nombre del archivo que tendrán los pdfs de cada registro. Puede emplear referencias a preguntas para hacerlo dinámico.
En el siguiente video podrá ver más en detalle como agregar un nombre de instancia:
Estilo web (style): estilo del formulario en web. Puede dejarlo en blanco, pages (página por pregunta y/o grupo) o theme-grid (Cuadrícula).
Llave (key): Puede hacer referencia a preguntas, a diferencia del nombre de instancia no admite funciones como join o concat. Ver Política de llaves
Política de llaves(key_policy): Indique la política de llaves a aplicar en el formulario. Ver Política de llaves
Permitir Importar datos (allow_import): Habilita la importación de datos al formulario que por lo general esta deshabilitada. Para habilitar esta opción solo escriba yes. Para más información dirijase a la sección Módulo de análisis el artículo titulado Backup e importación de datos.
Ocultar el formulario en dispositivos(hide_on_device): Como su nombre lo indica habilitar esta opción hará que el formulario no se vea en dipositivos móviles a no ser que sea como tarea, de lo contrario solo estara disponible en web. Por lo general esta opción esta deshabilitada, para habilitarla cambie el “no” por yes en la columna.
Formulario de datos(data_survey): A no ser que el formulario sea de supervisión, los formularios son de datos y esta columna debe decir “yes“.
Formulario de supervisión(oversight_survey): para indicar que el formulario es de supervisión. Para habilitar escriba yes. Ver formularios de supervisión.
Auditar tiempo en respuestas (timing_data): Para habilitar escriba yes. Para mayor información dirijase a la sección 13. Auditoria de formularios.
Auditar ubicación de respuestas (audit_location_data): Para habilitar escriba yes. Para mayor información dirijase a la sección 13. Auditoria de formularios.
Auditar cambios en respuestas(track_changes): Para habilitar escriba yes. Para mayor información dirijase a la sección 13. Auditoria de formularios.
Llave en repeticiones(pulldata_repeat): Llave para los pulldata en repeticiopnes. esta opción fue reemplazada por el pulldata de seis parámetros y no se recomienda su uso.
Comprimir PDF (compress_pdf): Para habilitar escriba yes. Esta opción le permitirá reducir la resolución de las imágenes del PDF manteniendolas adecuadas para impresión, lo que como su nombre lo indica realizará una compresión del PDF.
Styles y conditions
Para profundizar en el uso de estas hojas y sus respectivas columnas dirijase a la sección 10. Consola y formularios de supervisión, artículo formularios de supervisión.
