¡Buenas tardes!
Les comento que estamos en proceso de migración de Guaraní 3 a la versión 3.17.1.
Al realizar pruebas de importación desde preinscripción hemos detectado que hay casos en donde no se están actualizando los valores de ciertos campos cuando seleccionamos opciones específicas. Un ejemplo son los campos “Cantidad de hijos” y “Cantidad de familiares a cargo” en la sección Situación Familiar, al seleccionar la opción “No tengo” y luego realizar la importación desde Gestión no se están actualizando.
Al analizar esta situación vemos que la opción “No tengo” tiene como clave el valor 0.
En el proceso de importación se invoca a la función actualizar_datos_personales la cual compara con empty el valor 0 retornando true:
function actualizar_datos_personales($dato_censal, $parametros)
{
$dato_censal = toba::db()->quote($dato_censal);
$set = '';
foreach ($parametros as $parametro) {
if (!empty($set)) {
$set .= ', ';
}
if (empty($parametro['valor'])) {
$valor = 'null';
} else {
$valor = toba::db()->quote($parametro['valor']);
}
$set .= $parametro['campo'] . ' = ' . $valor;
}
if (!empty($set)) {
$sql = "UPDATE mdp_datos_personales
SET $set
WHERE dato_censal = $dato_censal
";
guarani_db::ejecutar($sql);
toba::logger()->info('************ Se actualizaron datos censales personales con éxito. ************');
}
}
¿Cuál sería la mejor solución en este caso?
Desde ya muchas gracias.
Saludos.