Migración de datos personales - Otros Documentos

Estimados:

Nos encontramos en necesidad de incorporar al sistema el dato del Legajo de trabajador UBA como dato adicional para las personas cargadas a la base. Este dato lo cargamos reutilizando el campo “Documento” de la persona, con un tipo nuevo, “Legajo UBA”.

¿Es posible utilizar el script de migración de Personas para cargar masivamente este dato? (Para cada caso, reemplazaríamos el Tipo Documento por el tipo “Legajo UBA” y el número de Documento por el Número de Legajo). Si no se pudiera utilizar, ¿qué otra alternativa tendríamos?

Desde ya, muchas gracias!

Saludos,

Federico

Hola, en la migración solo permitimos registrar un solo nro de documento por cada persona, que seria luego lo que en Guarani 3 llamamos el documento principal de la persona.
Este dato sería un nuevo nro de documento secundario, donde deberian agregar ese tipo de documento “Legajo UBA”. Estos datos deberian ingresarlo directamente en la base en la tabla mdp_personas_documentos.

Hola!

Tengo un par de consultas en función de la última respuesta:

¿Qué triggers se disparan al intentar incorporar estos datos directamente en la base? Principalmente nos vamos a asegurar de que la persona se encuentre registrada en el sistema (sólo migraríamos esos casos) y que el código de país y de documento sean válidos (que estén en las tablas correspondientes). ¿Hay algún control adicional?

Por otra parte, en la estructura de la tabla mdp_personas_documentos no entendemos bien a qué hace referencia el primer campo, “documento”. El primero es 1 (el usuario genérico de toba), luego arranca recién en el 2709. Pensábamos que era un número correlativo de documento, pero queremos estar seguros de no meter la pata!

Muchas gracias!

Saludos,

Federico

El campo documento de la tabla mdp_personas_documentos es el identificador unico (Primary Key) de esa tabla. No importa si hay valores intermedios que no se usaron, para el uso del sistema no influye en nada y no es un dato que se vea en algun lugar.

La tabla de personas (mdp_personas) tiene el campo documento_principal, este es el que hace referencia a la tabla/campo mdp_personas_documentos.documento

Cuando se inserta un documento en la tabla mdp_personas_documentos se corre el trigger de insert ftia_mdp_personas_documentos. En este trigger se verifica si la tabla mdp_personas ya tiene un documento registrado (campo documento_principal), sino lo tiene entonces registra como el documento principal, es decir el documetno que va a aparecer en todas las busquedas de alumnos en el sistema ese documento.

Ejemplo: En este caso para la persona 50, el documento principal es el DNI - 32001987. Ademas tiene registrado el CUIL/CUIT pero no esta como documento principal de esa persona.

mdp_personas:
persona - documento_principal
50 - 83

mdp_personas_documentos:
documento - persona - tipo_documento - nro_documento
82 33 0 45102304
83 50 0 32001987
84 50 3 20320019872
85 120 0 34665984

Perfecto, Alejandro! Quedó más que claro.
Muchas gracias!

Federico

Vuelvo con una consulta:

Intentamos realizar el insert en mdp_personas_documentos y nos salta el error que figura en la captura. En principio pensamos que era porque no existía la persona en mdp_personas, pero hicimos la revisión y no es el caso.
¿Qué puede llegar a ser?

Muchas gracias!

Saludos,

Federico


Captura error insert.jpg

Captura error insert.png

Podes pasar el insert que realizaste?

Alejandro:

Mala mía, no fue un insert hecho y derecho, sino que usamos la función import del Postgres. ¿Puede ser que haya surgido el error por ese motivo?
Vamos a intentar un insert y les comentamos, pero si tienen alguna recomendación, quedamos a la espera!

Gracias, como siempre!

Federico

Alejandro:

Realizamos varios intentos y todos terminan en error. Paso captura del último que realizamos.

Muchas gracias!

Saludos,

Federico


Captura error insert 2.jpg

Captura error insert 2.png

Eso debe ser porque no tenes seteada la variable search_path, ya que por defecto intenta insertar en el esquema public.

Corre todo junto lo siguiente:


set search_path = negocio;  -- negocio o el nombre que le hayan puesto al esquema donde estan las tablas de Guarani 3.
insert into mdp_personas (.....) values (...);
insert into mdp_personas (.....) values (...);
insert into mdp_personas (.....) values (...);
....

Alejandro:

Perfecto! Con esa aclaración resolvimos el asunto, ya pudimos incorporar los documentos!
Muchas gracias!

Saludos,

Federico

Alejandro:

Sumo una consulta. Estoy intentando cargar el dato de Legajo a una persona a través de la aplicación y me salta el siguiente error:

“El/la tipo de documento no es válido/a de acuerdo al valor de nacionalidad de la persona.”

Estoy viendo los valores que incorporamos a la tabla “mdp_tipos_documento” y tenemos lo siguiente:

tipo_documento|descripcion|desc_abreviada|orden_principal|habilita_inscripcion|tipo_de_dato|puede_eliminarse
91|Legajo UBA|LUBA|8|N|E|N

¿Falta modificar algo en esta tabla o incorporar algo en otra?

Muchas gracias!

Saludos,

Federico

Alejandro:

Agregamos otro problema al anterior: al intentar incorporar a una persona al sistema, salta el error que figura en la captura que estoy adjuntando. ¿Falta realizar alguna actualización luego de realizar el insert en la base? ¿Estamos pifiándole a algo?

Por favor, cuanto antes puedan responder, mejor!

Muchas gracias!

Federico


Error IncorporaciAn Documento 20170829.jpg

Error IncorporaciAn Documento 20170829.png

Les falto actualizar la secuencia de la tabla.
Corran esta sentencia en la base:


SELECT setval('mdp_personas_documentos_seq',(SELECT MAX(documento) FROM mdp_personas_documentos));

Ale:

Buenísimo. ¿Eso solucionaría también este problema?

"El/la tipo de documento no es válido/a de acuerdo al valor de nacionalidad de la persona."

Gracias!

Federico

Eso es otra cosa.
Es una validacion que esta en el sistema de acuerdo a la nacionalidad del alumno ya que no se esta considerando ese nuevo tipo de documento que agregaron.
Deberian modificar y personalizar esa validación que existe en el alta de personas.

Federico, este número de legajo trabajador UBA es un dato que tienen los docentes, usuarios administrativos del sistema?
¿Donde necesitan visualizarlo?

El dato de Legajo UBA es de los estudiantes que cursan la Tecnicatura en Gestión Universitaria, dado que son todos trabajadores no docentes de la Universidad. En principio es un dato que se utiliza en algunos informes internos de la carrera, con vistas a utilizarlo en algunos reportes, pero principalmente es un numero identificatorio adicional del estudiante.

Hola Federico, en qué versión de Guaraní están trabajando?
Para que lo tengan en cuenta, a partir de la versión 3.12 se incorporaron campos a la tabla de documentos que permiten personalizar la expresión regular contra la que se valida para cada tipo de documento (así como el mensaje emitido si da error).
Estos son los campos exp_regular_validacion y exp_regular_mensaje de la tabla mdp_tipo_documento. En los datos defecto que vienen en la instalación de cero de la base de negocio de Guaraní, por ejemplo el tipo de documento DNI tiene asociados: exp_regular_validacion= ‘^[0-9]+$’ y exp_regular_mensaje = “El número de documento sólo debe contener números”, por lo que al momento de guardar un documento de tipo dni se realiza la validación contra esa expresión regular que permite sólo números y, en caso de error, emite dicho mensaje.

Por otro lado, respecto del mensaje que adjuntás, se realizan otras validaciones relativas a la nacionalidad de la persona y el país del documento, según los valores de los campos de las tablas mdp_personas_documentos.pais_documento y mdp_personas.nacionalidad. Se verifica, en primer lugar, que si la nacionalidad de la persona es Argentina el país del documento sea Argentina. En segundo lugar que si la nacionalidad de la persona es Argentina los documentos válidos son: dni, cédula, LE, LC, CUIL, pasaporte, si es naturalizado o por opción: dni, cédula o CUIL y si es extranjero otros valores (estas validaciones las podés ver en la clase php/nucleo/matriculas/personas/cn_ent_personas.php y los valores de las constantes en php/nucleo/matriculas/personas/persona_nucleo.php). Si desean agregar otros valores, deberían personalizar las funciones que realizan estas validaciones en dichas clases. Si lo desean pueden levantar un gds para que podamos asistirlos en esta personalización.

Saludos,
Gabriela.

Hola, Gabriela!

Mirá, actualmente estamos trabajando con la versión 3.11.2 (esta semana estaremos actualizando a la versión 3.13, si todo va bien).

Con respecto a la expresión regular del documento, no tenemos inconveniente, dado que el Legajo UBA es sólo numérico. Con respecto al país, el país del Legajo UBA es Argentina (lo cargamos así en mdp.tipos.documento), por lo cual la primera validación que mencionás debería pasar (todos los estudiantes tienen nacionalidad Argentina). El problema lo encontramos en la segunda validación, porque el Legajo UBA como nuevo tipo de documento no está incorporado ahí. Envío un GDS, entonces, haciendo referencia a este tema del foro, ¿puede ser?

Nuevamente, muchas gracias!

Saludos,

Federico