Diferencia entre revisiones de «Subir Planillas Web»
(→Vaciar la Base de Datos Temporal) |
(→Ejecutar el Script de publicación de la Planilla Virtual) |
||
(No se muestra una edición intermedia de otro usuario) | |||
Línea 85: | Línea 85: | ||
# Hacer el dump de la base haberers_temp a través de los siguientes comandos: | # Hacer el dump de la base haberers_temp a través de los siguientes comandos: | ||
cd | cd | ||
− | /usr/bin/pg_dump -d haberes_temp > ./haberesMMAA_final.sql | + | /usr/bin/pg_dump -U postgres -d haberes_temp > ./haberesMMAA_final.sql |
# Levantar el dump a la base de datos '''haberes''' a través de los siguientes comandos: | # Levantar el dump a la base de datos '''haberes''' a través de los siguientes comandos: | ||
# cd | # cd | ||
− | # /usr/bin/psql haberes < ./haberesmmaa_final.sql | + | # /usr/bin/psql -U postgres haberes < ./haberesmmaa_final.sql |
# Verificar que se hayan publicado los datos en la web. | # Verificar que se hayan publicado los datos en la web. | ||
+ | |||
+ | === Control Final === | ||
+ | |||
+ | Una vez finalizada la subida a la planilla virtual, ejecutar la siguiente consulta desde PHP PgAdmin | ||
+ | |||
+ | select tipo_conce,sum(impo_conc) | ||
+ | from recibo3 | ||
+ | where nro_liqui>=menorNroLiqui AND nro_liqui<=mayorNroLiqui | ||
+ | group by tipo_conce | ||
+ | |||
+ | * menorNroLiqui= Menor número de liquidación correspondiente al periodo de liquidación correspondiente | ||
+ | * mayorNroLiqui= Mayor número de liquidación correspondiente al periodo de liquidación correspondiente | ||
= METODO ANTERIOR = | = METODO ANTERIOR = |
Revisión actual del 09:31 5 may 2014
Contenido
- 1 METODO NUEVO
- 2 METODO ANTERIOR
METODO NUEVO
Motivo del Nuevo Método
Se describe este nuevo procedimiento debido a que se genero unas modificaciones en el Script que sube las bases a la Planilla Virtual y se automatizo el armado de la estructura correcta de las bases del Sistema de Recibos
Estructura Inicial
Para poder llevar a cabo este procedimiento se debe encontrar la siguiente estructura:
T:\reportes\recibos\datos\AAAAMM\|- recibo1.DBF Donde: |- recibo2.DBF AAAA=Año de 4 digitos |- recibo3.DBF MM= Mes de 2 digitos
Interfaz
Procedimiento de Ejecución
Generar Archivos para Planilla Virtual
- Verificar que se encuentre la Estructura Inicial.
- Ingresar al Sistema Werken 2.0.
- Ingresar a la opción Operaciones.
- Ingresar a la opción Post-Liquidación.
- Seleccionar la opción Generar Bases para Sistema de Recibos y presionar el botón Ejecutar.
- A continuación se abrirá la ventana que se muestra en el apartado de Interfaz (OJO; previo a esto mostrará un cartel de advertencia, pero es para el procedimiento anterior).
- Seleccionar el periodo correspondiente (Mes y Año).
- Presionar el botón Generar Recibos Planilla Virtual.
- Se generará en T:\Planilla_Virtual\AAAAMM los archivos recibo1.DBF, recibo2.DBF y recibo3.DBF.
- Verificar que el nombre de los archivos generados en T:\Planilla_Virtual\AAAAMM respeten la siguiente estructura: recibo#.DBF, donde recibo# debe estar en minúscula y la extensión .DBF en mayuscula. De no ser así corregirlo.
- Ingresar en recibo2.DBF y recibo3.DBF. Ir al final de cada archivo y borrar los registros que se encuentren en blanco. Se suelen generar registros basura que generan errores al subir los archivos, por lo cual hay que borrarlos.
- Seleccionar los registros en blanco
- En la ventana de comandos ingresar la instrucción PACK.
Posicionar los Archivos para la Planilla Virtual
- Conectarse por ftp al 200.16.30.9
- Loguearse con el usuario dgp e ingresar la contraseña correspondiente.
- Copiar los archivos recibo1.DBF, recibo2.DBF y recibo3.DBF que se encuentran en T:\Planilla_Virtual\AAAAMM a /htdocs/sitios/sitiodgp/planilla_web/recibos/. Es importante recordar el formato del nombre del archivo recibo#.DBF (nombre en minúscula y extensión en mayúscula).
Vaciar la Base de Datos Temporal
- Desde cualquier navegador web, ingresar al phpPgAdmin.
- Conectarse a http://www.dgp.unc.edu.ar/Pg/.
- Loguearse con el usuario: dgppostgres e ingresar la contraseña correspondiente.
- Ingresar a la Base de Datos haberes_temp.
- Vaciar las tablas recibo1, recibo2 y recibo3.
- Limpiar las tablas recibo1, recibo2 y recibo3.
- Dentro de la opción de limpieza seleccionar las opciones:Full y Analizar
Ejecutar el Script para subir los datos a la Base Temporal
- Conectarse por ssh al 200.16.30.9.
- Loguearse con el usuario dgp e ingresar la clave correspondiente.
- Loguearse como usario root a través del siguiente comando:
su --
Una vez logueado como root, ingresar los siguientes comandos:
cd htdocs/sitios/sitiodgp/planilla_web/ ./subir_planillas.pl
Esto carga las tablas recibo1,recibo2 y recibo3 de la base haberes_temp.
Control Solo en el caso de que se pierdan datos: Desde FOX contar las cantidades de los registros de las tablas recibo1.DBF, recibo2.DBF y recibo3.DBF de T:\Planilla_Virtual\AAAAMM. Hacer lo mismo para las tablas recibo1, recibo2 y recibo3 de la base de datos habares_temp. Si no coincide, no continuar y ver donde esta el problema(habia un bug en subir_planillas.pl, que ya se arreglo en abril 2012) Además desde Fox debemos verificar cuantos archivos deleteados hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:
Ejemplo: use c:\recib\201206\recibo3 in 0 select recibo3 set dele off brow for deleted() count for deleted() to a ?a a--> es la variable que almacena la cantidad de archivos deleteados
Ejecutar el Script de publicación de la Planilla Virtual
- Loguearse como postgres vía ssh a través del comando su postgres.
- Hacer el dump de la base haberers_temp a través de los siguientes comandos:
cd /usr/bin/pg_dump -U postgres -d haberes_temp > ./haberesMMAA_final.sql
- Levantar el dump a la base de datos haberes a través de los siguientes comandos:
# cd # /usr/bin/psql -U postgres haberes < ./haberesmmaa_final.sql
- Verificar que se hayan publicado los datos en la web.
Control Final
Una vez finalizada la subida a la planilla virtual, ejecutar la siguiente consulta desde PHP PgAdmin
select tipo_conce,sum(impo_conc) from recibo3 where nro_liqui>=menorNroLiqui AND nro_liqui<=mayorNroLiqui group by tipo_conce
* menorNroLiqui= Menor número de liquidación correspondiente al periodo de liquidación correspondiente * mayorNroLiqui= Mayor número de liquidación correspondiente al periodo de liquidación correspondiente
METODO ANTERIOR
¡¡¡¡ Importante !!!!hay q cambiar el script htdocs/sitios/sitiodgp/planilla_web/subir_planillas.pl
q hizo martin para q borre r1 r2 y r3 de haberes_temp antes de incorporar los dbfs esto es para evitar subir datos duplicados a la base final
Archivos Necesarios
Origen de datos
recibo1.DBF recibo2.DBF recibo3.DBF
Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos. Debe de mes liquidado osea el anterior. Ejemplo T:\reportes\recibos\datos\AAAAMM donde T ==> \\dgpxeon\transacciones-pampa
Destino Temporal
Lo que se hace es copiarlos a una carpeta local para trabajarlos
Ejemplo: C:\RECIB\MMAA
Limpieza
Se hace con VFP6 o cualquier editos de dfbs
recibo1
Debemos eliminar la liquidación duplicada 950 que es la /8
¿Como lo hacemos?
use c:\ubicacion\recibo1.dbf sele recibo1 brow seleccion la liquidacion duplica y consola escribo pack
recibo2
Borro los archivos deleteados
¿Como lo hacemos?
use c:\ubicacion\recibo2.dbf sele recibo2 pack
recibo3
Borro los archivos deleteados
¿Como lo hacemos?
use c:\ubicacion\recibo3.dbf sele recibo3 pack
recibo2
Eliminar columnas
f_baja f_perm recibo rec_barra anti_meses anti_anios
¿Cómo Eliminar Columnas?
use c:\"ubicacion" brows modify structure ó alter table recibo2 drop column f_baja alter table recibo2 drop column f_perm alter table recibo2 drop column recibo alter table recibo2 drop column rec_barra alter table recibo2 drop column anti_anios alter table recibo2 drop column anti_meses
Control de datos erroneros
Numeros de recibos en 0
replace all nro_recibo with 1 for nro_recibo=0
tot_reten en NULL (deberias ser cero)
brow for isnull(tot_reten) brow for empty(tot_reten)
en horas dedic no debe haber campos vacios o nulos brow for empty(hs_dedica) brow for isnull(hs_dedica)
en dias_retro idem horas_dedic
- no encontre como preguntarq este vacio, x q si pregunto por empty() me trae tambien los q valen cero
recibo3
Eliminar columnas
codc_uacad
alter table recibo3 drop column codc_uacad
Control de datos erroneros
Año y mes retro
selec * from recibo3 where ano_retro=9999 and mes_retro=99
select recibo3 replace ano_retro with 0, mes_retro with 0 for ano_retro=9999 replace ano_retro with 0, mes_retro with 0 for mes_retro=99
Nro de renglon
replace all nro_renglo with 1 for nro_renglo=0
Nro de recibo
replace all nro_recibo with 1 for nro_recibo=0
Registros sin datos
brow for isnull(nro_liqui)
Novedad 1 erroneo
En novedad1 NO debe haber campos vacios o nulos
brow for empty(novedad1) brow for isnull(novedad1)
Nro de renglon erroneo
En nro_renglo NO debe haber campos vacios o nulos
brow for empty(nro_renglo) brow for isnull(nro_renglo)
Nro recibo erroneo
En nro_recib NO debe haber campos vacios o nulos
brow for empty(nro_recibo) brow for isnull(nro_recibo)
Destino Final de los DBFS
Conexion
Conectarse por ftp a 200.16.30.9 usuario dgp clave *****
Copia
copiarlos a /htdocs/sitios/sitiodgp/planilla_web/recibos/ Importante el nombre debe ser recibo1.DBF (nombre en minuscula, extension en mayuscula)
Vaciar la base
Esto se puede hacer desde phpPgAdmin
Conexion
entrar a http://www.dgp.unc.edu.ar/Pg/ usuario: dgppostgres pass: ******
Elegir Bd
Entrar a la base haberes_temp
Vaciado
vaciar las tablas recibo1 recibo2 recibo3 Luego hacer limpieza full analyse (selectall/limpiar->execute)
Ejecucion del script
Conexion
Conectarse Via ssh a 200.16.30.9 usuario dgp clave ***** Ahora me logueo como root
Ejecucion
cd htdocs/sitios/sitiodgp/planilla_web/ ./subir_planillas.pl Esto carga las tablas recibo1,recibo2 y recibo3 de la base haberes_temp
Control
Desde fox contar las cantidades de los registros en las 3 dbfs. Hacer lo mismo en la base habares_temp en las 3 tablas. Si no coincide, no continuar y ver donde esta el problema(habia un bug en subir_planillas.pl, que ya se arreglo en abril 2012)
Además desde Fox debemos verificar cuantos archivos deleteados hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:
Ejemplo: use c:\recib\201206\recibo3 in 0 select recibo3 set dele off brow for deleted() count for deleted() to a ?a a--> es la variable que almacena la cantidad de archivos deleteados
Bajada y subida
Una vez que se cargaron las tablas en habers_temp
Loguearse como postgres
siempre via ssh lo mejor es hacerse root su pass:***** y luego hacerse postgres su postgres
dump de la base haberers_temp
# cd # /usr/bin/pg_dump -d haberes_temp > ./haberesmmaa_final.sql
levantado del dump a la base haberes
# cd # /usr/bin/psql haberes < ./haberesmmaa_final.sql
Creditos
El script de conversion de dbfs a postgres fue desarrollado por Martin Villalba
Notas
En caso de subirla mal
Buscamos el mes
En este caso buscamos año 2012 mes 05
select * from recibo1 where per_liano=2012 and per_limes=05
Liquidaciones a borrar
-------- 979 980 981 982 --------
Borramos
delete from recibo3 where nro_liqui in (979,980,981,982)