Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

RESTRICCION DE EDAD PARA MATRÍCULA

  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 6 months ago #207132 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Este es mi archivo.

Te agradezco tu valiosa colaboración y tiempo.
Attachments:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 6 months ago #207140 by Joffm
Replied by Joffm on topic RESTRICCION DE EDAD PARA MATRÍCULA

Imagino que vas a tener que adaptar la formula para cada edad.

No, esta formula funciona para cada edad.
floor((strtotime('2021-04-01')-strtotime(self))/(60*60*24*365))<Q00007+7
"self" tiene la fecha de nacimiento, Q0007 el grado, comenzando con "1"
floor((strtotime('2021-04-01')-strtotime(self))/(60*60*24*365)) -> la edad
Q00007+7 -> la maximo edad de este grado.

Pero no se tienen en cuenta los años bisiestos

Por este buscamos algo diferente.
Comparamos el año y el mes.

La fecha e como "2013-06-19"
substr(fecha,0,4) significa el año (2013)
substr(fecha,5,2) significa el mes (06)

Significa:
el año maximo de un grado es:
1. 2013-grado
2. 2014-grado y mes<4

Puedes validar asi:
(intval(substr(self,0,4)) ge 2013-Q00007) OR (intval(substr(self,0,4))==2014-Q00007 AND intval(substr(self,5,2)) lt 4)

Y la cuota?
Hay una en el ejemplo.
Las cuotas solo funcionan en encuestas activadas.

File Attachment:

File Name: limesurvey...7316.lss
File Size:41 KB

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 6 months ago - 3 years 6 months ago #207185 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Buenas tardes Joffm

De antemano muchas gracias por el tiempo que le dedicas a mi pregunta en verdad que lo aprecio mucho.

Como comenté al inicio soy muy nuevo en LS. Descargué el archivo que me enviaste y realice unas pruebas pero no se que estoy haciendo mal porque no funciona. Te dejo un gif de muestra del video.

De otra parte no entiendo muy bien esta codificación:

La fecha e como "2013-06-19"
substr(fecha,0,4) significa el año (2013)
substr(fecha,5,2) significa el mes (06)


Por ejemplo para la fecha "2000-01-30"

Cuál sería el substr( ) del año y
Cuál sería el substr( ) del mes?

Cómo saco esos valores?
Attachments:
Last edit: 3 years 6 months ago by Chiripa.
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 6 months ago #207193 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Hola Joffm.

Ya logré solucionar las validaciones. Te agrego un archivo con 2 ejemplos.

((232355X44X240.NAOK == "AO01") and ((!is_empty(232355X44X241.NAOK) && (232355X44X241.NAOK <= "2013-04-01")))) || ((232355X44X240.NAOK == "AO02") and ((!is_empty(232355X44X241.NAOK) && (232355X44X241.NAOK <= "2012-04-01"))))

En el archivo adjunto si seleccionas el grado PREESCOLAR y una fecha igual a 2013-3-31 o más antigua aparece un mesanje de EXTRAEDAD. Igual sucede si seleccionas PRIMERO y una fecha igual a 2012-3-31 o más antigua.

Me falta agregar las otras validaciones pero eso ya no es inconveniente.

He investigado bastante pero no encuentro la manera de finalizar la encuesta si aparece el mensaje de "EXTRAEDAD". Con cuotas (quotes) no funciona porque la pregunta es de tipo (Mostrar Texto).

Me puedes por favor ayudar?

Gracias
Attachments:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 6 months ago - 3 years 6 months ago #207201 by Joffm
Replied by Joffm on topic RESTRICCION DE EDAD PARA MATRÍCULA
Hola,
Otra solución, mejor:
O establece la fecha mínima


o usa esta ecuación y luego la cuota.


((232355X44X240.NAOK == "AO01") and ((!is_empty(232355X44X241.NAOK) && (232355X44X241.NAOK <= "2013-04-01")))) || ((232355X44X240.NAOK == "AO02") and ((!is_empty(232355X44X241.NAOK) && (232355X44X241.NAOK <= "2012-04-01"))))


1. No uses "Condition designer', siempre ExpressionScript.
2. Te dijé que tienes que usar códigos numéricos para los grados (NO "AO01", "AO02", pero "1", "2")
Quieres calcular con los còdigos.

Te mandé un ejemplo que funciona para cada grado porque calcula y este tambien.
Todas son funciónes dinámicas para cada grado

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 6 months ago by Joffm.
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 6 months ago #207205 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Entre más aprendo menos se.

1. He estado probando el archivo que me enviaste pero con cualqueir fecha
siempre me aparece el mismo aviso "Bueno, continuamos". Por eso te
decía que no funciona.

2. Del ejemplo que te envié intenté agregar el código que me dices
date('Y-m-d',mktime(0,0,0,3,31,2014-Q00007)) pero no encuentro más
campos o como hacerlo para agregar todas las validaciones. Adjunto
imagen.

3. Si al usuario le aparece un mensaje "ESTUDIANTE EN EXTRAEDAD" como
hago para finalizar la encuesta?
Attachments:
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 6 months ago #207231 by Joffm
Replied by Joffm on topic RESTRICCION DE EDAD PARA MATRÍCULA

1. He estado probando el archivo que me enviaste pero con cualqueir fecha
siempre me aparece el mismo aviso "Bueno, continuamos". Por eso te
decía que no funciona.

La encuesta esta activa?
Cuotas soloamente funcionan en encustas activas, claro.

Del ejemplo que te envié intenté agregar el código que me dices
date('Y-m-d',mktime(0,0,0,3,31,2014-Q00007)) pero no encuentro más
campos o como hacerlo para agregar todas las validaciones. Adjunto
imagen.

No necesitas mas.
Se hay códigos numericos en Q00007 esta parte "2014-Q00007" calcula el año correcto.

Si al usuario le aparece un mensaje "ESTUDIANTE EN EXTRAEDAD" como
hago para finalizar la encuesta?

Se quieres terminar tienes que usar la cuota.

La validation (fecha minima) solo evita una continuación.


Bueno, tienes dos opciones alternativas.
Elige que te gusta mas.

Aqui todos los dos ejemplos otra vez.

File Attachment:

File Name: limesurvey...ima).lss
File Size:37 KB

File Attachment:

File Name: limesurvey...ota).lss
File Size:41 KB


Joffm

No ayuda por mensajes privados.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago - 3 years 5 months ago #207305 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
.
Last edit: 3 years 5 months ago by Chiripa. Reason: Ya lo solucione.
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago - 3 years 5 months ago #207306 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
.
Last edit: 3 years 5 months ago by Chiripa. Reason: Ya lo solucione.
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207308 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Hola Joffm.

Probé los 2 archivos que me enviaste y el que mejor me funciona es el de las cuotas. Muchas gracias por tu paciencia y tiempo.

En la misma encuesta tengo algo similar pero unicamente tengo que evaluar solo la fecha. Si la fecha es mayor a 31-03-2007 debe aparcer un mensaje y finalizar la encuesta. Ya ví que con cuotas lo puedo hacer pero lo que todavia no le encuentro la lógica a las formulas que usas.

Al finalizar la matrícula me gustaría, si así lo consideras, colocar tus creditos por tu valiosa colaboración.

Cordial saludo.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #207321 by Joffm
Replied by Joffm on topic RESTRICCION DE EDAD PARA MATRÍCULA
Es muy fácil de hacer.
Aquí solo se compara si la fecha es anterior o la misma.
Entonces creas una ecuación que devuelve un 1, de lo contrario un 0.
{if (QCode le '2007-03-31', 1,0)}

Para entender, lees lo que escribí en la parte en inglés.

También debe estudiar los estudios de muestra.
manual.limesurvey.org/ExpressionScript_sample_surveys

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Chiripa
  • Chiripa's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 5 months ago #207410 by Chiripa
Replied by Chiripa on topic RESTRICCION DE EDAD PARA MATRÍCULA
Buenas tardes Joffm.

Probé la ecuación que me enviaste utilizando todo lo que muy amablemente me has enseñado y estuve revisando la página de ExpressionScript_sample_surveys que me enviaste.

Realicé una encuesta de prueba, utilicé la ecuación que me enviaste, configuré la cuota, active la encuesta pero no me funcionó.

Dentro de la página de ExpressionScript no encontré las palabras reservadas que tiene todo lenguaje de programación. Cuál lengiaje para las ecuaciones usa LS?

Para el ejemplo que te adjunto, nuestro colegio tiene jornada noche que es por ciclos y no por grados. Los adultos van a tomar clases en la noche y hay unas restricciónes:

1. En ningún ciclo se puede matricular un estudiante menor de 14 años. Es decir deben tener 14 años cumplidos.

2. Para matricularse en el ciclo 5 el estudiante debe tener 17 años cumplidos.

3. Para matricularse en el ciclo 6 el estudiante debe tener 18 años cumplidos.

¿Cómo se puede hacer la ecuación utilizando por ejemplo or o en otro lenguaje se utilizan los simbolos || en reemplazo de or? ¿En este lenguaje de LS cúal sería el or?

En tu ecuacion usas le . ¿Para que se usa o en cúales casos?

Gracias
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose