Migración de Bienes Patrimoniales

Estimados,

Subo al foro un aporte de Elisa Fernandez de la Universidad Nacional del Comahue, donde se detallan algunas consideraciones a tener en cuenta para la migración de bienes patrimoniales:


Primero hay que tener en cuenta que los bienes se almacenan en la tabla scp_bienes_patrimoniales y que en esta tabla hay referencias a otras tablas: scp_motivo_alta, scp_areas, scp_responsables, scp_ubicaciones_fisicas, scp_estados_bienes y scp_catalogo_bienes_patrimoniales. Estas referencias se hacen a través de un id. Podés verlas ingresando desde phppgadmin.

los datos que no pueden ser nulos en scp_bienes_patrimoniales son:

descripción, fecha de incorporación, responsable, área responsable, catalogo del bien patrimonial, vida útil, valor del bien, ubicación física, motivo de alta, número patrimonial, debe amortizarse, meses amortizados, amortizacion acumulada, valor residual, fecha alta.

datos opcionales son:

orden de compra, estado del bien, número patrimonial anterior, expediente, número de factura

en caso de no tener algún dato obligatorio, Matias me sugirió colocar un valor de relleno y luego cuando se disponga del dato real hacer un update.

ejemplo de consulta para insertar un bien:

insert into diaguita.scp_bienes_patrimoniales
(descripcion_bien,fecha_incorporacion,orden_compra,id_estado_bien,id_motivo_alta,id_responsable,id_area_responsable,debe_amortizarse,meses_amortizados,amortizacion_acumulada, valor_residual,id_catalogo_bien_patrimonial,vida_util,numero_patrimonial,numero_anterior,fecha_alta,valor_bien,id_ubicacion_fisica,expediente,factura_numero)
values

(‘AIRE ACONDICIONADO CARRIER 4400 F/CALOR’,‘01-01-1994’,‘s/inventario’,1,6,2,1,‘S’,0,0,0,10005532,10,‘45000001’,‘611’,‘19-09-2013’,1169,1,‘’,‘’),

(‘ANTEOJO BINOCULAR 7X50 M 16’,‘01-01-1994’,‘s/inventario’,3,6,2,4,‘S’,0,0,0,10006551,10,‘45000002’,‘235’,‘19-09-2013’,300,3,‘’,‘’),

(‘ANTEOJO BINOCULAR 7X50 M 16’,‘01-01-1994’,‘s/inventario’,2,6,2,5,‘S’,0,0,0,10006551,10,‘45000003’,‘456’,‘19-09-2013’,300,5,‘’,‘’);

aclaraciones:

el motivo_alta es 6 porque el id correspondiente a “migración” en mi tabla scp_motivo_alta es 6

debe_amortizarse siempre es ‘S’

meses_amortizados, amortizacion_acumulada y valor_residual son siempre 0 cuando se migra, el sistema hace los cálculos teniendo en cuenta (si no me equivoco) la fecha de incorporación, el valor, vida útil, etc.

para armar la consulta sql, lo que hago es copiar las columnas del excel que contiene el inventario en las columnas correspondientes de otro excel que tiene una especie de plantilla con el formato de la consulta sql (con las comillas, paréntesis, comas…)

ese excel me lo facilitó Matías, creo que lo usaron en otra universidad. Si necesitas sacar o agregar campos a la consulta, hay que retocar la plantilla. Te la envío en este correo.

Luego, en la plantilla reemplazo cada celda que se corresponda con un id. Por ejemplo: selecciono la columna correspondiente a “responsables” y utilizando la herramienta “reemplazar” sustituyo cada ocurrencia de “Magui Urtubey” por el número 1, luego reemplazo cada ocurrencia de “Eli Fernandez” por el 2, hasta que la columna solo contenga los ids correspondientes a la tabla scp_responsables. (ver mas abajo que los ids usados son los del ejemplo de consulta sobre scp_responsables)

Hacer lo mismo con scp_areas, scp_ubicaciones_fisicas, scp_estados_bienes y scp_catalogo_bienes_patrimoniales.

En la columna “motivo alta” va siempre el mismo id, debe ser el correspondiente a “migración” en scp_motivo_alta.

El valor del bien en la planilla tiene formato ,00… yo reemplazo la coma por un punto para que no se confunda esa coma por una coma de la sentencia sql.

Luego de completar bien el excel, copio todas las filas y las pego en un editor de texto:

insert into diaguita.scp_bienes_patrimoniales
(descripcion_bien,fecha_incorporacion,orden_compra,id_estado_bien,id_motivo_alta,id_responsable,id_area_responsable,debe_amortizarse,meses_amortizados,amortizacion_acumulada, valor_residual,id_catalogo_bien_patrimonial,vida_util,numero_patrimonial,numero_anterior,fecha_alta,valor_bien,id_ubicacion_fisica,expediente,factura_numero)
values(DATOS DE PLANILLA);

y retoco lo que sea necesario, por ejemplo:

Al copiar del excel agrega tabulaciones y se ve desordenado, para arreglarlo uso la herramienta de reemplazo y sustituyo las ocurrencias de TAB con la cadena vacía.

Recordar que la consulta sql termina con ;

El número patrimonial lo agrega de forma automática usando un numerador

en lugar de crear responsables desde el sistema también se puede usar una consulta sql:

suponte que queremos insertar en la base “diaguita” a los responsables Magui Urtubey y Eli Fernandez. El parámetro “AC” significa que el estado de ese responsable es “activo”, es decir, está habilitado para que aparezca en los listbox del sistema.

insert into diaguita.scp_responsables(id_responsable, apellido, nombre, estado)

values

(1,‘Urtubey’,‘Magui’,‘AC’),

(2,‘Fernandez’,‘Eli’,‘AC’);

cuando queramos agregar otro responsable hay que fijarse el último id_responsable para no repetir id. Si queremos agregar otro:

insert into diaguita.scp_responsables(id_responsable, apellido, nombre, estado)

values

(3,‘Deganis’,‘Matias’,‘AC’);


Adjunto planilla excel para el ejemplo detallado y modelo de datos versión 1.12.2

Muchas gracias por tu aporte Elisa!!!

Saludos,

Matias


datos_migracion-diaguita.rar (254 KB)

DER_1_12_2.rar (80.5 KB)