Solicito su ayuda, tengo un formulario que venia trabajando normal, pero después de la actualización, no me está funcionando varios calculate y relevant en enketo, he probado desde kobocollect y todo marcha bien, pero en enketo no, un ejemplo, tengo un campo calculado para establecer la edad a partir de la fecha de nacimiento, utilice esta formula: int((today()-date(${fecha_nacimiento})) div 365.25). todo venia bien, pero ahora ya no funciona, y así me sucede con muchas otras preguntas, casi el 65% de las preguntas ya no funcionan.
Thank you for bringing this to the community, @Yimi! We will have a look and get back to you very soon. In the meantime could you also let us know the server you are using?
En este momento he creado un nuevo formulario en https://kf.kobotoolbox.org, se implementa con normalidad y desde kobo collect funciona correctamente, pero desde enketo me muestra esto:
@wroos muchas gracias por su colaboración, utilizó el validador y todo es correcto, pero al previsualizar, sigue el problema en enketo, insisto que en kobotoolbox la carga del xlsfoms en normal sin ningún problema, al igual que en kobo collect, funciona correctamente. los errores se presentan en enketo.
y me lleva la final de la encuesta, omitiendo el resto de preguntas, voy a probar buscando otra formula para calcular la edad, creo que el problema radica ahí.
@Kal_Lam Ya solucione el problema del formulario, efectivamente no entiendo por que ahora la función de calculo de edad no sirve, tuve que cambiarla, y con eso solucioné el problema, pero surgió otro problema, generó un código único con esta formula: concat(‘A’,${cod_mun},’-’,format-date(${fecha_encuesta},’%d%m%y’),’-’,format-date(${start},’%H%M%S’)) pero ahora los últimos dígitos que generó a partir de el metadato start ya no funciona, solo salen ceros (000000) no se a que se debe el error.
I think your issue is coming from the last part of you concat command i.e. format-date(${start},’%H%M%S’) it seems that the format is not being picked. Do you want to try just this part in a calculation and see the results?
Para el primer tema de error en el formulario, todo se genero por problemas en la fórmula para calcular la edad, anteriormente tenia esta formula int((today()-date(${fecha_nacimiento})) div 365.25) pero al parecer ahora ya no funciona así que la emplace por esta: round((decimal-date-time(today()) - decimal-date-time(${fecha_nacimiento})) div 365.25).
En cuánto al segundo caso, donde requiero generar un código único utilizando la hora de inicio del formulario, utilizaba esta función: format-date(${start},’%H%M%S’), al igual que la anterior, funcionaba bien ahora no, así que ahora la reemplace por esta: concat(substr(${fecha_hora}, 22, 24), substr(${fecha_hora}, 25, 27), substr(${fecha_hora}, 28, 30)) y al parecer todo funciona bien.
Una ultima pregunta, ¿generé un campo fecha hora ${fecha_hora}, hay alguna manera de que cuando esta variable ya obtenga un valor, este campo quede como solo lectura para evitar que este dato se modifique?.
Al igual que @Yimi tengo el inconveniente con un campos de tipo time, los cuales utilizo para realizar una resta que me indica la duración (en horas) de las actividades desarrolladas por el personal en campo:
To better locate the problem, could you try to separate the calculation steps and to make them visible: decimal types, first calculate/show difference, then *24, then round() ?