Introducción #
IdCode es el lenguaje de scripting de IdSurvey.
IdCode es un lenguaje diseñado para ser fácilmente accesible incluso para usuarios que no están familiarizados con la programación.
IdCode describe cada aspecto del cuestionario: preguntas, páginas, secciones, textos, etiquetas, condiciones de visualización, saltos y más.
Para diseñar cuestionarios en IdSurvey, el uso de IdCode no es obligatorio. Todas las funciones son accesibles desde la interfaz gráfica de usuario. Sin embargo, IdCode es una herramienta invaluable que permite acelerar la creación y edición de cuestionarios, especialmente los largos o complejos.
IdSurvey le permite cambiar entre la interfaz gráfica y IdCode en cualquier momento. Por ejemplo, esto le permite crear una pregunta desde la interfaz gráfica, agregar opciones de respuesta desde IdCode y luego volver a la interfaz gráfica para establecer una condición de visualización u otro paso cuya sintaxis exacta no recuerde.
Al trabajar simultáneamente con ambos métodos, puede descubrir la sintaxis de cualquier función que se haya configurado desde la interfaz gráfica, lo que permite un aprendizaje de IdCode rápido y sencillo.
Características y herramientas del idioma de programación #
Declaración simplificada de elementos
IdCode es un lenguaje declarativo, caracterizado por una sintaxis natural, con un uso mínimo de delimitadores e identificadores explícitos.
Esto significa que no necesita colocar ninguna etiqueta identificativa para declarar una pregunta o sus respuestas. Simplemente escribe el código y el texto.
IdCode reconoce el código y el texto de la pregunta y de las opciones de respuesta en función del contexto y de la presencia de una línea de separación vacía. Veámoslo más de cerca:
- Al declarar una página, debe escribir /page seguido del código deseado, por ejemplo, /page P1. Opcionalmente, puede agregar texto en la línea debajo del código que se mostrará como encabezado de la página.
- Para declarar una pregunta, debe dejar una línea vacía y luego escribir el código. Al estar dentro de una página, IdCode reconoce el código como una declaración de pregunta. En la línea debajo puede agregar el texto de la página.
- Para declarar la lista de opciones de respuesta, debe dejar una línea vacía y luego escribir el código y el texto para cada opción de respuesta. Al estar dentro de una pregunta, IdCode reconoce los códigos como opciones de respuesta de la pregunta.
- Para declarar otra pregunta, debe dejar una línea vacía y continuar como se describió anteriormente.
/page P3B
Q4
¿Cuál es el nivel educativo más alto que ha alcanzado?
1 menos que la educación secundaria
2 título de secundaria
3 título universitario
4 título de posgrado
Q5
¿Cuál es tu profesión actual?
1 desempleado
2 jubilado
3 empleado
4 autónomo
5 empresario
6 otra ocupación no incluida en la lista
Otros elementos del cuestionario, como grupos y secciones, deben declararse con identificadores de inicio y fin, como veremos en los párrafos dedicados de esta guía.
Colores
Cada objeto declarado en IdCode se identifica con colores para facilitar la consulta y permitir al usuario verificar en tiempo real que el código o el texto se interpreta correctamente.
Por ejemplo, el código de la pregunta es de color púrpura. Si al escribir este código aparece en negro, puede significar que la línea anterior no está vacía o que la página no ha sido declarada previamente.
Las propiedades, opciones y restricciones también se caracterizan por colores específicos. Todos los textos de preguntas, respuestas o encabezados se representan siempre en negro.
En las capturas de pantalla de este artículo, puede ver los diferentes colores utilizados por IdCode para identificar objetos, parámetros, condiciones de visualización y más.
Códigos
Los códigos de las preguntas, respuestas y cualquier otro elemento del cuestionario:
- Pueden contener caracteres estándar, números, punto y guiones bajos
- Pueden contener letras minúsculas o mayúsculas
- Deben ser únicos (no pueden existir dos objetos con el mismo código)
Es importante tener en cuenta que:
- La unicidad de los códigos en las opciones de respuesta se refiere únicamente a las opciones de la misma pregunta. Una pregunta no puede contener múltiples opciones de respuesta con el mismo código.
- Se aceptan tanto letras minúsculas como mayúsculas en los códigos; sin embargo, IdCode no distingue entre mayúsculas y minúsculas. Esto significa que para llamar a la pregunta Qb14 en una condición de visualización o en un salto puede escribir QB14, qb14 o qB14 indistintamente.
Herencia y optimización automática
La mayoría de las propiedades se pueden agregar indistintamente a las opciones de respuesta o a la pregunta.
Las opciones de respuesta sin ninguna propiedad heredan la propiedad especificada en la pregunta.
Por lo tanto, agregar la misma propiedad a todas las opciones de respuesta de una pregunta es equivalente a agregar la propiedad solo en la pregunta.
Una de las peculiaridades de IdCode es que reprocesa las propiedades y los parámetros del script en su forma más concisa. Si, por ejemplo, la propiedad ->M (respuesta de selección múltiple) se agrega en todas las opciones de respuesta de una pregunta, IdCode optimiza el script colocando la propiedad únicamente en la pregunta. Este procesamiento ocurre automáticamente cada vez que la ventana de IdCode se cierra y se vuelve a abrir.
Intellisense
Intellisense es una herramienta que facilita la escritura de condiciones lógicas y text piping en IdCode. A medida que escribe, puede abrir Intellisense para recuperar el código exacto de una pregunta, el nombre de una función o un campo de contacto.
Para iniciar Intellisense, simplemente presione Ctrl + barra espaciadora en cualquier parte de IdCode.
Dependiendo del contexto, se muestra una lista de sugerencias.
Para acotar los resultados, puede escribir parte del texto de una pregunta, parte de una función o parte del nombre de un campo de contacto.
Si selecciona una de las sugerencias, Intellisense completará la escritura con el código de la pregunta, la función o el nombre del campo.
Para seleccionar una de las sugerencias, puede usar el teclado (teclas de flecha y Enter para confirmar) o hacer clic con el ratón.
Por ejemplo, si no recuerda el código de una pregunta que desea agregar a una condición de visualización, simplemente:
- Abra Intellisense.
- Escriba una parte del texto de la pregunta para acotar los resultados.
- Seleccione la pregunta sugerida de la lista.
Para obtener más información, consulte el artículo relacionado.
Herramientas
En la parte superior de la ventana de IdCode se encuentran los botones Buscar, Encontrar y sustituir, y las herramientas de vista de pantalla completa.
Para obtener más información, consulte el artículo relacionado.
Notas preliminares
En IdSurvey, el cuestionario se divide en páginas. Cada página puede contener una o más preguntas.
Durante el proceso de la entrevista, el sistema analiza cualquier instrucción en la página después de hacer clic en su botón Siguiente y luego revisa la siguiente página.
Las páginas se procesan en orden secuencial, es decir, se muestran en la fase de entrevista una tras otra, siguiendo cualquier condición de visualización que pueda excluir una o más páginas.
Por lo general, el orden de las páginas en IdCode representa el flujo del cuestionario; sin embargo, el orden de ejecución puede alterarse si se utilizan saltos o aleatorios.
El IdCode de un cuestionario puede considerarse como el conjunto de todas las páginas del cuestionario.
Desde la interfaz de IdSurvey, puede acceder al IdCode de todo el cuestionario desde el menú de herramientas haciendo clic en el elemento «IdCode – Ver script cuestionario».
Alternativamente, puede acceder al IdCode de la página seleccionada haciendo clic en el icono IdC en la barra de la página.
Para una gestión más sencilla del código, se recomienda trabajar en el IdCode de la página individual y usar el general solo si es estrictamente necesario.
En todos los ejemplos de esta guía se muestra el IdCode de una página del cuestionario.
Es importante tener en cuenta que el IdCode general sobrescribe todo el cuestionario al presionar el botón «Guardar» de la ventana de código. De lo contrario, los cambios realizados en las páginas individuales, tanto desde IdCode como desde la interfaz gráfica, deben confirmarse haciendo clic en el botón «Guardar página» en el menú de la interfaz.
Pregunta básica

- Declaración y código de página
Para declarar una página, escriba /page seguido del código deseado. - Código de pregunta
Para declarar una nueva pregunta, simplemente escriba el código. El código de la pregunta debe estar precedido por una línea vacía para ser reconocido. - Texto de la pregunta
En la línea siguiente, puede agregar el texto de la pregunta. También puede agregar texto formateado en HTML. - Opciones de respuesta (compuestas por código y texto de la opción)
Para declarar la lista de opciones de respuesta, debe especificar un código y texto para cada opción. La lista de opciones de respuesta debe estar precedida por una línea vacía, que a su vez debe estar precedida por el texto de la pregunta o, si este no existe, por el código de la pregunta para ser reconocida. - Propiedades de la respuesta
Junto a cada objeto del cuestionario, se puede establecer una propiedad. En este ejemplo, se ha especificado la propiedad de respuesta abierta para la opción «Otro/Especificar». - Condición de visualización
Junto a cada elemento del cuestionario, se puede establecer una condición de visualización. En este caso, la pregunta Q2 se mostrará solo si se ha seleccionado la opción con código 2 en la pregunta Q1.
Matriz de opciones

Para escribir una pregunta de matriz, debe especificar las filas y las opciones de respuesta después de escribir el código y cualquier texto. Es esencial no dejar líneas en blanco entre las declaraciones de filas, columnas, opciones y cualquier excepción.
- Para declarar las filas, simplemente escriba /rows y especifique los códigos y textos de cada fila debajo. Para un funcionamiento correcto, los códigos de fila deben estar siempre precedidos por un punto.
- Para declarar las opciones de respuesta, debe escribir /cols seguido de la lista de opciones.
- Excepciones
Por lo general, la pregunta de matriz consiste en las mismas opciones de respuesta, parámetros y propiedades repetidos para cada fila. En IdSurvey se permite especificar propiedades y parámetros para una opción de una fila específica. Para agregar una excepción, debe escribir /cells seguido de las coordenadas de la opción (código de fila, código de opción) y la propiedad y/o parámetro deseado. En el siguiente ejemplo, la pregunta se configura como una matriz de respuesta abierta. En la opción de respuesta de la tercera fila, se establece una excepción con el parámetro como numérico abierto y un rango de 1900 a 2010.
/page P7
Q9 ->T
Añade tus datos
/rows
.1 Nombre
.2 Apellido
.3 Año de nacimiento
/cols
1
/cells
.3,1 /V «Ni, 1900:2010»
Matriz 3D
Las preguntas de matriz 3D ofrecen una solución extremadamente flexible para diseñar preguntas complejas. Cada celda (cruce fila/columna) de la matriz puede considerarse como una pregunta independiente.
La matriz 3D puede ser utilizada para recopilar diferentes atributos de un conjunto de afirmaciones.
Por ejemplo, si desea conocer la valoración de 1 a 5 de los atributos precio, envase y sabor para una serie de yogures, puede configurar una matriz 3D con un producto para cada fila y 3 columnas para los tres atributos, cada una compuesta por opciones de elección única de 1 a 5.
La matriz 3D también permite especificar diferentes tipos de respuesta entre columnas. Al ejemplo anterior, podemos añadir otra columna con una respuesta abierta numérica para preguntar cuántos envases podría comprar el encuestado para cada uno de los productos.
Otro ejemplo de uso de la matriz 3D es una pregunta que solicita la facturación de cada trimestre de los últimos 3 años. La pregunta puede configurarse introduciendo los trimestres como columnas y los años como filas. Esto permite configurar una respuesta abierta numérica para cada celda.
La matriz 3D también permite especificar excepciones para celdas individuales, lo que permite configurar preguntas complejas para una variedad de necesidades.

Para crear una pregunta de matriz 3D, debe declarar la plantilla de opciones de respuesta, las filas y las columnas después de escribir el código y cualquier texto. Es esencial no dejar líneas en blanco entre las declaraciones de las plantillas, las filas, las columnas y las opciones.
- Para declarar una plantilla de opciones de respuesta, debe escribir /celltemplate seguido de un número entero y luego escribir la lista de opciones compuesta por códigos y cualquier texto. A menos que se especifique lo contrario, todas las celdas utilizarán esta plantilla de celda.
- Para declarar las filas, simplemente escriba /rows y especifique los códigos y textos de cada fila de la aplicación a continuación. Para un funcionamiento correcto, los códigos de fila deben estar siempre precedidos por un punto.
- Para declarar las columnas, debe escribir /cols y especificar los códigos y textos para cada columna en la pregunta a continuación. Para un funcionamiento correcto, los códigos de columna de la matriz 3D deben estar siempre precedidos por un punto.
- Cree más plantillas de opciones de respuesta para aplicarlas a columnas, filas o celdas específicas. La pregunta de matriz 3D puede componerse de múltiples tipos de fila, columna o celda, es decir, con diferentes opciones de respuesta. Puede especificar un número ilimitado de plantillas de opciones de respuesta para aplicarlas a todas las celdas de una fila, a todas las celdas de una columna o solo a una celda individual.
- Para agregar un nuevo tipo de celda, debe declarar una nueva plantilla de celda escribiendo /celltemplate seguido de un número de identificación.
- Agregue los códigos y los textos de las opciones de respuesta de la plantilla.
- Aplique la plantilla a una fila o columna o a una celda específica.
1. Para aplicar una plantilla a una fila o a una columna, debe agregar /celltemplate seguido del número de identificación después del código y de cualquier texto de la fila o columna.
/page P14
Q22
Por favor, califique cada atributo de los siguientes yogures utilizando una escala del 1 al 5.
/celltemplate 1
1 1
2 2
3 3
4 4
5 5
/celltemplate 2
1 ->T /V «Ni»
/rows
.1 Yogur griego de arándanos Chobani
.2 Yogur griego de albaricoque Chobani
.3 Yogur griego Chobani de chocolate y naranja
/cols
.1 Precio
.2 Envase
.3 Sabor
.4 ¿Cuántos paquetes compraría cada mes? /celltemplate
2. Para aplicar una plantilla a una celda específica, debe escribir /cells seguido de sus coordenadas (código de fila, código de columna) y luego escribir /celltemplate seguido del número de identificación.
/page P11
Q23
Por favor, indique el volumen de rotación de productos y servicios de los últimos dos años.
/celltemplate 1
1 ->T /V «Ni»
/celltemplate 2
1 ->T /D «[Q23.1.1]+[Q23.2.1]»
/celltemplate 3
1 ->T /D «[Q23.1.2]+[Q23.2.2]»
/rows
.1 Productos
.2 Servicios
.3 Total
/cols
.1 2019
.2 2020
/cells
.3,.1 /celltemplate 2
.3,.2 /celltemplate 3
En este ejemplo, la pregunta de matriz 3D solicita a los encuestados que introduzcan datos de facturación de dos industrias diferentes para dos años distintos. Se ha añadido una tercera fila en la que el total anual se calcula automáticamente.
Las dos celdas que muestran los totales se describen mediante dos plantillas de celda diferentes, cada una con una respuesta abierta, el parámetro /D (valor por defecto) y la suma algebraica de los valores introducidos en las filas de Productos y Servicios. En la plantilla de celda 2 se suman los valores de Productos y Servicios de la columna 2024; en la plantilla de celda 3 se suman los de la columna 2025.
Por último, las plantillas se asignan a las celdas correspondientes, indicando que la celda de la tercera fila de la primera columna debe utilizar la plantilla de celda 2, mientras que la celda de la tercera fila de la segunda columna debe utilizar la plantilla 3.
Condiciones de visualización
Para añadir una condición de visualización a cualquier elemento del cuestionario, debes escribir /F "if( condición )" a la derecha del propio objeto.
IdSurvey admite condiciones complejas y anidadas y proporciona funciones especiales para usos específicos.
Para conocer la sintaxis de las condiciones consulta el artículo dedicado.
/page P10 /F "if ({servicio} == Soporte)"
Q14
¿Cuál de estos servicios utilizó?
1 Asesoramiento previo a la venta
2 Reparación en garantía
3 Reparación fuera de garantía
4 Sustitución gratuita del producto
5 Sustitución del producto fuera de garantía
Q15
Indique cómo evaluaría el servicio de asistencia del 1 al 5
1 1 – nada satisfecho
2 2
3 3
4 4
5 5 – muy satisfecho
Q16 /F "if(Q15 == 1 || Q15 == 2 || Q15 == 3)"
¿Por qué no estás satisfecho con el servicio?
1 ->TM
Salto
En la entrevista, las preguntas se realizan página por página en orden secuencial. Sin embargo, es posible definir saltos que llevarán a otra página o a una pregunta específica (también en otra página) si se selecciona una respuesta determinada, ignorando el flujo normal de la entrevista.
/page P12
Q18
¿Qué servicio utilizaste?
1 Asesoramiento previo a la venta /Skip "goto(P20)"
2 Servicio posventa /Skip "goto(P32)"
3 Sustitución de productos defectuosos /Skip "goto(P44)"
4 Sustitución por daños accidentales /Skip "goto(P66)"
Para añadir un salto necesitas añadir el parámetro /skip "goto(CódigoDelElementoObjetivo)" a la opción de respuesta.
IdSurvey admite saltos a cualquier objeto del cuestionario, como preguntas, secciones, grupos o páginas, como en este ejemplo.
Existen múltiples tipos de saltos: salto simple, salto con secuencia y salto aleatorio. También puedes añadir una condición para que el salto se ejecute si la respuesta es seleccionada y la condición es verdadera.
Consulta el artículo dedicado para conocer sus características y sintaxis
Aleatorización
Es posible activar la función aleatoria en cualquier objeto del cuestionario que contenga otros elementos. Por ejemplo, al activar la función aleatoria en una pregunta se mostrarán aleatoriamente sus opciones de respuesta, o al activar la función aleatoria en una sección se mostrarán aleatoriamente sus páginas.
En preguntas de matriz de opciones o matriz de opciones 3D, puedes activar la función aleatoria por separado para filas y columnas.
Gracias a los grupos, bloques y aleatorización de clones, IdSurvey permite crear esquemas de ordenación complejos para las necesidades más diversas.
Puedes encontrar más detalles en el artículo dedicado.
/page P27
Q27 ->M /R 1 /Mmax 3 /Mmin 1
¿Cuáles de estas marcas estás dispuesto a considerar a la hora de comprar un coche eléctrico? (máximo 3 respuestas)
1 Audi
2 BMW
3 Citroen
4 Fiat
5 Ford
6 Honda
7 Hyundai
8 Kia
9 Lexus
10 Mercedes
11 Nissan
12 Smart
13 Opel
14 Toyota
15 Volkswagen
99 Otro (especificar) ->T /RG
Para habilitar la función aleatoria en un elemento, escribe /R 1 a la derecha del código.
- Escribe /R 1 a la derecha del código y los atributo.
Todas las opciones de respuesta incluidas en la pregunta se asignarán automáticamente al grupo «cero» (/RG 0). El grupo cero es el predeterminado y no se declara en IdCode.
Si deseas mantener la opción de respuesta «Otro» al final, debes especificar un grupo aleatorio diferente.
- Escribe /RG 1 a la derecha del código y los atributo.
Nota:
A menos que se especifique lo contrario, el grupo aleatorio de los elementos es /RG 0. Todos los elementos del grupo 0 se aleatorizarán entre sí.
Si se especifica /RG 1 en una o más opciones de respuesta, todas las opciones del mismo grupo se aleatorizarán entre sí, pero se mostrarán todas después de las del grupo 0.
Esta función puede usarse entonces para «fijar» la posición de una opción de respuesta, como en este ejemplo.
Grupo de preguntas
Puedes crear grupos de preguntas dentro de las páginas. Los grupos de preguntas pueden ser útiles para aplicar la misma condición de visualización a varias preguntas o para aleatorizar las preguntas contenidas en él.

Para crear un grupo dentro de una página, debes declarar el inicio y el final del grupo antes y después de las preguntas incluidas en él.
- Para declarar el inicio del grupo escribe /group seguido del código de identificación.
- Para declarar el final del grupo escribe /endgroup.
Secciones
Las secciones son páginas del cuestionario agrupadas. Las secciones pueden ser útiles para aplicar la misma condición de visualización a varias páginas, para aleatorizar las páginas que contienen o para crear un bucle de una parte del cuestionario.
Para crear una sección, debe utilizar el IdCode de todo el cuestionario. Para abrirlo, vaya al menú de herramientas y seleccione «IdCode – Ver script cuestionario».

Para crear una sección debes declarar el inicio antes de cualquier página y el final después de la última página que debe incluirse en la sección.
- Para declarar el inicio de una sección debes escribir /section seguido de un código de identificación.
- Para declarar el final de una sección debes escribir /endsection.
Mensaje de aviso
Los avisos permiten colocar controles de coherencia en cualquier página del cuestionario.
Un aviso consiste en un cuadro con texto personalizado que impide al encuestado pasar a la página siguiente si las respuestas no cumplen los criterios deseados.
Debes configurar una condición de visualización para cada mensaje de aviso personalizado.
Si la condición es verdadera, el mensaje de aviso se mostrará (como con las condiciones de visualización aplicadas a respuestas, preguntas o páginas).
El parámetro /soft permite mostrar el mensaje de aviso sin impedir que el encuestado confirme y continúe a la página siguiente.

- Para declarar un nuevo mensaje de aviso debes escribir /alert
- Para permitir que el encuestado continúe sin realizar correcciones, añade el parámetro /soft 1 en la misma línea.
- En la misma línea debes especificar la condición de visualización.
- En la línea inferior puedes introducir el texto deseado.
Texto descriptivo
Puedes insertar texto descriptivo en cualquier parte del cuestionario. Como todo el resto del texto del cuestionario, puedes insertar imágenes, texto formateado, enlaces y más en formato HTML.
Para configurar contenido HTML, se recomienda encarecidamente utilizar el editor disponible en la interfaz gráfica de usuario.

Para introducir un texto descriptivo, debes escribir /text seguido de un código y luego escribir el texto deseado en la línea siguiente.
- Declara el bloque de texto escribiendo /text seguido del identificador.
- En la línea inferior escribe el texto deseado.
Puedes aplicar condiciones de visualización al texto descriptivo como a todos los demás objetos del cuestionario.
Gestión de idiomas
IdSurvey le permite crear encuestas multilingües utilizando un único cuestionario. Para traducir el cuestionario, debe utilizar la herramienta «Gestión de idiomas».
Se pueden encontrar más detalles en el artículo dedicado.
Las traducciones cargadas con «Gestión de idiomas» también son visibles en IdCode dentro de una etiqueta «<lang>» colocada en cada texto del cuestionario.
Es posible realizar pequeñas correcciones y modificaciones a las traducciones también desde IdCode.
/page PServices
Q1 ->M
¿Cuál de los siguientes has visitado hoy?
<langs>↔</langs>
1 Stands de expositores <langs>
<lang code=“it”>
Stand degli espositori
</lang>
</langs>
2 Área de innovación <langs>↔</langs>
3 Talleres <langs>↔</langs>
4 Bistrot <langs>↔</langs>
- Localice la etiqueta «<lang>» del texto deseado.
- Haga clic en el icono de expansión para mostrar el contenido de la etiqueta hasta que se abra el texto a corregir.
- Edite el texto
Text piping
En cualquier texto, puede recuperar el texto de una respuesta a una pregunta anterior, datos del nominativo o datos del entrevistador.
Para recuperar el texto de una respuesta anterior, escriba el código entre corchetes, por ejemplo [Q3].
Para recuperar un campo del nominativo, escriba el nombre del campo entre llaves, p. ej. {Name}.
Text Piping también puede utilizarse dentro de las condiciones de visualización y otras funciones de IdCode.
Para conocer todos los detalles de Text Piping, consulte el artículo dedicado.
/page P24
Q49
En tu último viaje a [Q40], ¿dónde pasaste la noche?
1 Hotel
2 B&B
3 Familiares/amigos
4 Otro ->T
/ page P23
Q48
¿Confirma que esta es su dirección de correo electrónico? {email}
1 Sí
2 No
Texto dinámico
IdSurvey permite añadir texto dinámico a cualquier texto del cuestionario.
Con el texto dinámico, es posible controlar el texto que se mostrará en función de una o más condiciones. Esta función es útil para gestionar singulares y plurales, masculino y femenino, o para añadir notas a los operadores telefónicos que no deben mostrarse en las entrevistas CAWI del mismo cuestionario.
Además, el texto dinámico permite añadir expresiones algebraicas para que el resultado se muestre en el texto de una pregunta.
/page P21
Q45
¿Cuántos coches tienes?
1 Uno
2 Más de uno
/page P22
Q46
¿De qué marca es <dtx>(Q45 == 1)?’tu coche’ : ‘el coche que más utilizas'</dtx>?
1 ->T
Para insertar texto dinámico en el texto de una pregunta, respuesta o cualquier otro elemento del cuestionario, es necesario:
- Abrir la etiqueta escribiendo <dtx>
- Escribir la condición o expresión
- Cerrar la etiqueta escribiendo </dtx>
Para conocer la sintaxis de las condiciones de texto dinámico o las expresiones algebraicas, consulte los artículos correspondientes.
Encabezados
Puedes añadir encabezados de página y encabezados de grupo.
Solo tienes que escribir el texto en la línea siguiente a la declaración de página o grupo.

- Encabezado de página
- Encabezado de grupo
Flowscript
FlowScript es un lenguaje integrado en IdCode que permite ejecutar comandos con condiciones de cualquier complejidad, incluidas las declaraciones «else» y «while».
Es posible añadir un FlowScript a cualquier página del cuestionario.
Los scripts se ejecutan cuando se guarda la página, es decir, cuando el encuestado hace clic en el botón «Siguiente».
A modo de ejemplo, es posible utilizar FlowScript para valorizar un campo de nominativo basándose en múltiples respuestas anteriores o para necesidades más complejas como la creación de bucles de secciones del cuestionario.
Para obtener más información sobre FlowScript, consulte la guía detallada o busque artículos con ejemplos de aplicaciones prácticas.
/page P26
<flowscript>
if([Q60] <= 17) ot ();
if([060] >= 18 && [Q60] <= 29) {edad} = ’18-29′;
if([Q60] >= 30 && [Q60] <= 49) {edad} = ’30-49′;
if([Q60] >= 50 && [Q60] <= 69) {edad} = ’50-69′;
if([Q60] > 70) {edad} = ‘más de 70’;
</flowscript>
Q60
¿Cuántos años tienes?
1 ->T /V «Ni, 1:120»
Para añadir un FlowScript en una página es necesario escribirlo dentro de la etiqueta <flowscript>.
- Abrir la etiqueta <flowscript> en la línea siguiente al código de página o al encabezado de página, si está presente.
- Escribir el script.
- Cerrar la etiqueta escribiendo </flowscript>.
El script de este ejemplo valoriza el campo Edad con el grupo correspondiente a la edad indicada en la pregunta Q60.
ClientScript
Client script permite introducir Javascript y CSS personalizados en las páginas del cuestionario. Javascript permite cambiar el comportamiento de una pregunta, modificar su estructura y mucho más. CSS, por otro lado, permite cambiar los estilos de los elementos de la página.
ClientScript es procesado exclusivamente por el navegador y no influye directamente ni en los datos ni en el flujo del cuestionario procesado por el servidor.
Javascript y CSS no se tratan en esta base de conocimientos ya que son lenguajes estándar y comunes a cualquier página web. Sin embargo, existen artículos con ejemplos de las aplicaciones más comunes.
Para añadir un Clientscript en una página es necesario escribirlo dentro de la etiqueta correspondiente.
- Abrir la etiqueta <clientscript> en la línea siguiente al código de página o, si está presente, al encabezado de página.
- Escribir el script, incluyendo las etiquetas estándar <script> o <style>.
- Cerrar la etiqueta escribiendo </clientscript>.
Textos HTML
Todos los textos del cuestionario (preguntas, opciones de respuesta, encabezados, etc.) son compatibles con el estándar HTML. Es posible formatear el texto, insertar enlaces, tablas, imágenes o contenido de audio y vídeo.
Aunque es posible insertar contenido HTML desde IdCode, se recomienda utilizar los editores WYSIWYG (What You See Is What You Get), en la interfaz gráfica, ya que permiten componer y editar el contenido mostrando directamente el resultado final, sin necesidad de utilizar código HTML.
Lista de propiedades
Las propiedades describen el tipo de respuesta o pregunta. Si no se especifica ninguna propiedad en la pregunta o en las opciones de respuesta, IdSurvey asigna la opción de elección única.
Las propiedades deben declararse después del texto de la respuesta o después del código de opción de respuesta si el texto no está presente. Las propiedades de la pregunta o las propiedades que deben ser heredadas por todas las opciones de respuesta deben declararse a continuación del código de pregunta.
Para declarar una propiedad es necesario escribir los símbolos -> (menos y mayor) seguidos de las iniciales de la propiedad deseada, por ejemplo ->T para declarar una opción de respuesta abierta.
Como se describe en la sección «Herencia y Optimización Automática», una propiedad también puede especificarse en el elemento superior para que sea heredada por todas las opciones de respuesta que contiene. Por ejemplo, al especificar la propiedad ->M (opción de elección múltiple) después del código de pregunta, todas las opciones de respuesta que contiene (y en las que no se han especificado otras propiedades) se mostrarán como opciones de elección múltiple.
Algunas propiedades solo pueden declararse después del código de pregunta, como ->DD (pregunta de Arrastrar y Soltar). Esta regla debe aplicarse a todas aquellas propiedades que necesariamente afectan a todas las opciones de respuesta de la pregunta.
| Elección única | ->S | Te permite seleccionar solo una de las opciones de respuesta de la pregunta. Es el tipo de respuesta predeterminado: por lo general, no es necesario especificarlo. |
| Elección múltiple | ->M | Te permite seleccionar varias opciones de respuesta. |
| Respuesta exclusiva | ->E | Te permite marcar una de las opciones de respuesta de una pregunta de opción múltiple como exclusiva. Si se selecciona, se desmarcan las demás opciones de respuesta de la pregunta. |
| Respuesta abierta (Restricciones disponibles) | ->T | Permite al encuestado escribir un texto breve en un campo de entrada. Gracias al parámetro de restricción /V, es posible configurar la respuesta abierta como un campo numérico, un campo de fecha con calendario, un campo regido por expresiones regulares y otras opciones. Consulte los parámetros para obtener más detalles. |
| Texto largo (Restricciones disponibles) | ->TM | Permite al encuestado escribir textos largos en un cuadro de texto. |
| Respuesta asistida (Restricciones disponibles) | ->A | Permite al encuestado seleccionar una de las opciones de un menú desplegable o de una lista de sugerencias. |
| Respuesta con foto (Restricciones disponibles) | ->P | Permite hacer una foto o cargar una imagen existente. |
| Clasificación (Restricciones disponibles) | ->RT | Permite al encuestado valorar algo seleccionando estrellas, caritas o pulgares arriba/abajo. |
| Respuesta de slider (Restricciones disponibles) | ->SL | Permite introducir un valor moviendo el cursor de una barra. |
| Respuesta de audio (Restricciones disponibles) | ->R | Permite grabar o importar archivos de audio. |
| Respuesta con archivo (Restricciones disponibles) | ->F | Permite cargar un archivo. |
| Respuesta de vídeo (Restricciones disponibles) | ->V | Permite grabar o importar archivos de vídeo. |
| Respuesta de firma | ->SN | Permite al encuestado escribir su firma en un recuadro específico. |
| Pregunta de clasificación | ->DD | Se puede aplicar a una matriz y permite al encuestado arrastrar y soltar una serie de elementos (opciones de respuesta) en el orden deseado. |
| Pregunta «Seleccionar y ordenar» | ->DDS | Se puede aplicar a una matriz y permite al encuestado seleccionar determinados elementos (opciones de respuesta) y ordenarlos según sus preferencias. |
| Pregunta MaxDiff | ->MD | Cuando se aplica a una pregunta matricial, permite crear preguntas de tipo MaxDiff. |
Lista de restriccionest
Las restricciones permiten personalizar el tipo de valor aceptado en la respuesta abierta.
Para especificar una respuesta abierta con una restricción, es necesario escribir ->T /V «restricción«.
/page P8
Q12
¿Cuántos años tienes?
1 ->T /V «Ni, 18:100»
| Número mínimo y máximo de caracteres. | S,min:maxEjemplo:->TM /V "S,1:1000" | Si se configura, define el número mínimo y máximo de caracteres que admite el campo de entrada de respuesta abierto. |
| Restricción numérica de tipo entero. | NiEjemplo:->T /V "Ni" | Solo admite números enteros. |
| Restricción numérica decimal. | Nd Ejemplo: ->T /V "Nd" | Acepta todos los números, incluidos los decimales. |
| Valor mínimo y máximo. | Ni,min:max Nd,min:maxEjemplo: ->T /V "Ni,1:100" | Se puede aplicar a respuestas abiertas con la restricción de números enteros o decimales. Si se activa, define el valor numérico mínimo y máximo aceptado. |
| Restricción de fecha. | D,format:FormatoDeFechaFormatos de fecha aceptados: dd/mm/yyyy mm/dd/yyyy yyyy-mm-ddEjemplo: ->T /V "D,format:dd/mm/yyyy" | Establece el campo de respuesta abierta como un campo de fecha. El encuestado puede escribir la fecha o seleccionarla en el calendario. |
| Restricción de fechas con fecha de inicio y fecha de fin aceptadas. | D,format:FormatoDeFecha,fechaInicial:fechaFinalEjemplo:->T /V "D,format:dd/mm/yyyy,2021-01-01:2021-12-31" | Permite indicar la fecha de inicio y la fecha de finalización. Las fechas deben indicarse en formato ISO (aaaa-mm-dd) |
| Restricción de expresiones regulares. | E,expresiónRegularEjemplo:->T /V "E,^[\d]{5}$" | Permite especificar una restricción mediante una expresión regular (Regex). |
Lista de parámetros
Los parámetros permiten la configuración de diferentes funcionalidades de los elementos del cuestionario.
La siguiente lista describe la funcionalidad de cada parámetro, su sintaxis y los elementos donde puede aplicarse.
Para obtener más información sobre la funcionalidad de cada parámetro, es posible encontrar artículos que tratan el tema en profundidad.
Para aplicar un parámetro a una página, una sección, un grupo o una pregunta es necesario escribirlo después del código del objeto y la eventual propiedad. Para aplicarlo a una opción de respuesta, escribirlo después de la propiedad y el texto de la respuesta, si lo hay, o después del código.
Es posible añadir múltiples parámetros para cada objeto. Por ejemplo, en una opción de respuesta, es posible definir una condición de visualización y un salto como en el ejemplo siguiente.
/page P5
Q8
¿Cuándo vas a comprar un coche nuevo?
1 Ya estoy negociando /F "if( Q6 == 3 )" /Skip "Goto(Q18)"
2 En los próximos 6 meses
3 En los próximos 12 meses
4 En los próximos dos años
5 No lo sabes
| Se puede aplicar a… | ||
| Condición de visualización | /F «condición«Ejemplo:/F "if(Q1==6)" | Cualquier objeto |
| Ocultar página | /HidePage 1 | Página |
| Aleatorizar los elementos hijos | /R 1 | Objeto padre |
| Clonar ordenación de otro objeto aleatorio | /RL CódigoDelObjetoEjemplo:/RL Q21 | Objeto padre |
| Orden aleatorio clonado de columnas | /RL C:CódigoDeMatrizEjemplo:/RL C:Q2 | Objeto padre |
| Columnas aleatorias | /RC 1 | Matrices o matrices 3D |
| Orden aleatorio de columnas clonado de otro objeto | /RCL CódigoDelObjetoEjemplo:/RCL Q10Ejemplo:/RCL R:Q1 | Matrices o matrices 3D |
| Grupo aleatorio | /RG NEjemplo:/RG 2 | Hijos: elementos secundarios de elementos con la opción «Al azar» activada |
| Subgrupo de objetos fijos | /RF NEjemplo:/RF 3 | Hijo: elementos secundarios de elementos con la opción «Al azar» activada |
| Subgrupo de objetos aleatorios | /RR NEjemplo:/RR 3 | Hijos: elementos secundarios de elementos con la opción «Al azar» activada |
| Etiqueta | /L «etiqueta«Ejemplo:/L "Grupo de edad" | Preguntas sencillas, filas de matriz y celdas de matriz 3D |
| Respuesta opcional | /Optional 1 | Preguntas sencillas, filas de matriz y celdas de matriz 3D |
| Número máximo de respuestas | /Mmax NEjemplo:/Mmax 3 | Preguntas sencillas, filas de matriz y celdas de matriz 3D |
| Número mínimo de respuestas | /Mmin NEjemplo:/Mmin 2 | Preguntas sencillas, filas de matriz y celdas de matriz 3D |
| Excluir de la exportación | /HideOnExport 1 | Todas las preguntas |
| Mostrar como matriz también en smartphones | /ShowAsMatrixOnMobile 1 | Preguntas de matriz |
| Mostrar como carrusel | /Carousel 1 | Preguntas de matriz |
| Columnas exclusivas (Permite seleccionar solo una respuesta por columna) | /ExclusiveColumns 1 | Preguntas de matriz |
| Reducir el ancho | /ReduceWidth 1 | Preguntas de matriz |
| Mostrar las opciones de respuesta en la misma línea | /ShowInLine 1 | Preguntas sencillas |
| Mostrar las opciones de respuesta como botones | /ShowAsButtons 1 | Preguntas sencillas |
| Opciones de configuración de respuestas | /O «opciones«Ejemplo:/O "F,lista_de_provincias.txt" | Respuestas |
| Salto | /Skip «salto«Ejemplo:/Skip "goto (Q13)"/Skip "<em>condición de salto</em>"Ejemplo:/Skip "if( Q3 > 4) goto (Q13)" | Respuestas |
| Actualizar un campo de nominativo | /UF «campo=valor«Ejemplo:/UF "CorreoElectrónico=[Q4.1]"/UF "Zona=nord" | Respuestas |
| Fuera del target | /OT 1 | Respuestas |
| Corrección automática | /AM «códigoPregunta=códigoRespuesta«Ejemplo:/AM "Q5=2" | Respuestas |
| Eliminar las preguntas siguientes | /DA 1 | Respuestas con corrección automática activada |
| Restricciones de preguntas abiertas | /V «restricción«Ejemplo:/V "Nd,1:100" | Respuestas abiertas |
| Valor predeterminado de respuestas abiertas | /D «valor«Ejemplo:/D "ninguno"/D "{Ciudad}" | Respuestas abiertas |
| Respuesta con autocompletar | /AC 1Ejemplo:/O "F,lista_de_provincias.txt" /AC 1 | Respuestas abiertas |
Opciones de configuración
Como se menciona en la lista de propiedades, algunos tipos de respuesta requieren parámetros de configuración
Por ejemplo, para una respuesta asistida desplegable será necesario especificar la lista de opciones o asociar un archivo de texto. O, para una respuesta de valoración, será necesario definir el tipo y el número de iconos (estrellas, caritas o pulgares) y las etiquetas correspondientes.
Para definir las opciones, es necesario escribir /O «opciones» después de la propiedad. Por ejemplo, para configurar una respuesta desplegable que tome las opciones de la lista desde un archivo de texto, es necesario escribir ->A /O «F,nombre_de_la_lista.txt».
/page P9
Q10
¿En qué estado vives?
1 Selecciona uno de la lista ->A /O «F, lista_estados.txt»
Si se establece una propiedad en una opción de respuesta pero no se especifican sus opciones de configuración, IdCode añadirá una configuración predeterminada.
Aunque es posible especificar las opciones de configuración desde IdCode, la sintaxis puede ser difícil de gestionar. Por lo tanto, se recomienda encarecidamente definir las opciones de configuración desde la interfaz gráfica.
| Asistido, con lista en línea | S,Opción 1;Opción 2;Opción 3Ejemplo:->A /O "S,Cada semana, cada dos semanas, una vez al mes" |
| Asistido, con lista de archivos | F,nombreDelArchivo.txtEjemplo:->A /O "F,lista_de_provincias.txt" |
| Foto | quality:low|medium|high,allowlibrary:true|falseEjemplo:->P /O "quality:medium,allowlibrary:false" |
| Clasificación (Se necesita configuración) | kind:star|smile|like,customlabels:true|false,numbers:N,labels:[ArrayDeEtiquetas]El parámetro de números (N) permite especificar el número de elementos a representar. El tipo estrella puede configurarse con los números 5 o 10. El tipo carita puede configurarse con los números 2, 3 o 5. El tipo pulgar solo puede configurarse con el número 2.ArrayDeEtiquetas Permite especificar etiquetas de opciones separadas por comas. Por ejemplo: ‘Nada satisfecho’, ‘Moderadamente satisfecho’, ‘Muy satisfecho’. |
Ejemplo:
->RT /O "kind:smile,customlabels:true,numbers:3,labels:['Negativo','Neutro','Positivo']"Respuesta slider (Se necesita configuración)kind:standard|compare,showvalue:true|false,minvalue:N,maxvalue:N,step:N,labels:[ArrayDeEtiquetas]»minvalue» es el valor mínimo del slider»maxvalue» es el valor máximo del slider
«step» es el valor de cada incremento
ArrayDeEtiquetas
Permite especificar las etiquetas que se muestran a la izquierda y a la derecha del slider.
Por ejemplo, ‘Para nada probable’, ‘Muy probable’.SL-> /O "kind:compare,showvalue:false,minvalue:-10,maxvalue:10,step:1,labels:['Para nada probable','Muy probable']"Respuesta audio (Se necesita configuración)allowlibrary:true|false,length:short|medium|longEjemplo:->R /O "allowlibrary:true,length:long"Respuesta con archivo (Se necesita configuración)types:’ListaDeExtensionesAceptadas‘ListaDeExtensionesAceptadas
Define las extensiones de archivo que admite la opción de respuesta.
Las extensiones deben ir separadas por comas.
Si no se especifica nada, la opción de respuesta «Archivo» admite cualquier tipo de archivo.Ejemplo:->F /O "types:'pdf, doc, docx'"Respuesta video (Se necesita configuración)allowlibrary:true|false,quality:low|high,length:short|medium|longEjemplo:->R /O "allowlibrary:false,quality:high,length:medium"