Inscribir desde Preinscripcion - persona allegada trabajo_hace - Desconoce

Version: 3.14.0 (tambien falla en 3.15.1)
Presinscripcion: 3.7.0 (tambien con 3.8.0)

Tenemos un problema al “Inscribir a propuesta desde Preinscripcion”

El error que muestra es:
Error insertando Persona Allegada. El valor del Trabajo Hace no está presente en las Tablas …

Se da en la situacion particular que en preinscripcion en:
“Datos de la madre” → “En ese trabajo es”: Se selecciona “Desconoce” (En base de datos el valor de la columna madre_trab_hace = 4)

El log de gestion muestra:


[ERROR][guarani] SQLSTATE[23503]: Foreign key violation: 7 ERROR:  inserción o actualización en la tabla «mdp_personas_allegados» viola la llave foránea «fk_mdp_personas_allegados_mdp_trabajo_hace»
DETAIL:  La llave (trabajo_hace)=(5) no está presente en la tabla «mdp_trabajo_hace».
[ERROR][toba] toba_error_db: <p><b>SQLSTATE:</b> db_23503</p><p><b>CODIGO:</b> 7</p><p><b>MENSAJE:</b> ERROR:  inserción o actualización en la tabla «mdp_personas_allegados» viola la llave foránea «fk_mdp_personas_allegados_mdp_trabajo_hace»
DETAIL:  La llave (trabajo_hace)=(5) no está presente en la tabla «mdp_trabajo_hace».</p><p><b>SQL:</b> INSERT INTO mdp_personas_allegados
				(
					persona,
					tipo_allegado
					, apellido, nombres, estudio_alcanzado, trabajo_hace, trabajo_ocupacion, trabajo_tarea, trabajo_existe
				) 
				VALUES 
				(
					'340',
					'M'
					, 'MIÑARRO', 'IRMA PAULA', '3', '5', '3', 'SSSS', '1'
				);
				 -- toba_log: 398748396 </p>

[TRAZA]exception 'toba_error_db' with message 'Error insertando <strong>Persona Allegada</strong>. El valor del <em>Trabajo Hace</em> no está presente en las <strong>Tablas ...</strong>.' in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/db/toba_db.php:401

Como podran ver, está tomando el valor 5, que no sabemos de donde lo saca.
Los valores de la tabla mdp_trabajo_hace son

1;“Patrón (tiene empleados)”
3;“Obrero o empleado (asalariado)”
4;“Pasante”
2;“Cuenta propia / Independiente”

No existe la opcion “Desconoce”

Hola Cristian

Por favor levantá una Solicitud GDS haciendo referencia a este foro

Saludos

Por un lado vi en

  • BD/Diferenciales/3.14.0/000950.sql

Que se hace

  • UPDATE mdp_personas_allegados SET trabajo_hace = null WHERE trabajo_hace = 5;
  • DELETE FROM mdp_trabajo_hace WHERE trabajo_hace = 5;

Por lo tanto, entiendo que se decidió eliminar la opción “Desconoce”, entonces, puedo hacer el update en la base de preinscripcion, para setear a null las opciones en 5 para el padre y para la madre.
(Tenemos un solo caso en esta situacion)

Por otra parte en preinscripción veo:

en la clase opciones.php

  function get_padres_trab_hace()
        {
                return array(
                        self::NO_SELECCION => kernel::traductor()->trans('descr_no_seleccion'),
                        '1' => kernel::traductor()->trans('padre_trab_hace_1'),
                        '2' => kernel::traductor()->trans('padre_trab_hace_2'),
                        '3' => kernel::traductor()->trans('padre_trab_hace_3'),
                        '4' => kernel::traductor()->trans('padre_trab_hace_4'),
                );
        }

Eliminando la ultima opción, se elimina de las opciones, que se pueden seleccionar. para que no vuelva a suceder.

Es correcto como solucion temporal?

En principio estaría bien.
Te proponemos que sigamos este tema por GDS para seguir un orden.

Preferimos no difundir cambios de código por el foro porque choca con la propuesta de personalización y puede generar problemas con actualizaciones. Luego publicaremos los resultados por acá con la solución definitiva.

Por favor, levanten un GDS.

Saludos.

Ya solucionamos este inconveniente. En las próximas versiones ya estará resuelto.

Si necesitan la solución nos los piden por GDS,

Ah bueno, excelente, Por el momento no se nos presenta el problema y no tenemos periodos de preinscripcion, así que esperaremos a la solución en la próxima versión.
Gracias