Diferencia entre revisiones de «Subir Planillas Web»
(→Ejecutar el Script de publicación de la Planilla Virtual) |
|||
| (No se muestran 55 ediciones intermedias de 3 usuarios) | |||
| Línea 1: | Línea 1: | ||
| + | = 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 == | ||
| + | |||
| + | [[Imagen:Gen_bases_recib2.PNG]] | ||
| + | |||
| + | |||
| + | == 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== | ==Archivos Necesarios== | ||
===Origen de datos=== | ===Origen de datos=== | ||
| Línea 5: | Línea 115: | ||
recibo3.DBF | recibo3.DBF | ||
| − | Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos | + | 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 | Ejemplo | ||
| − | T:\reportes\recibos\datos\ | + | T:\reportes\recibos\datos\AAAAMM |
donde T ==> \\dgpxeon\transacciones-pampa | donde T ==> \\dgpxeon\transacciones-pampa | ||
| + | |||
===Destino Temporal=== | ===Destino Temporal=== | ||
Lo que se hace es copiarlos a una carpeta local para trabajarlos | Lo que se hace es copiarlos a una carpeta local para trabajarlos | ||
Ejemplo: | Ejemplo: | ||
| − | C:\RECIB\ | + | C:\RECIB\MMAA |
===Limpieza=== | ===Limpieza=== | ||
Se hace con VFP6 o cualquier editos de dfbs | Se hace con VFP6 o cualquier editos de dfbs | ||
====recibo1==== | ====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==== | ====recibo2==== | ||
=====Eliminar columnas===== | =====Eliminar columnas===== | ||
| + | |||
| + | |||
f_baja | f_baja | ||
f_perm | f_perm | ||
recibo | recibo | ||
rec_barra | rec_barra | ||
| + | anti_meses | ||
anti_anios | anti_anios | ||
| − | anti_meses | + | |
| + | |||
| + | ¿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===== | =====Control de datos erroneros===== | ||
======Numeros de recibos en 0====== | ======Numeros de recibos en 0====== | ||
| Línea 34: | Línea 183: | ||
brow for isnull(tot_reten) | brow for isnull(tot_reten) | ||
brow for empty(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==== | ====recibo3==== | ||
=====Eliminar columnas===== | =====Eliminar columnas===== | ||
codc_uacad | codc_uacad | ||
| + | |||
| + | alter table recibo3 drop column codc_uacad | ||
| + | |||
=====Control de datos erroneros===== | =====Control de datos erroneros===== | ||
======Año y mes retro====== | ======Año y mes retro====== | ||
selec * from recibo3 where ano_retro=9999 and mes_retro=99 | 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 ano_retro=9999 | ||
replace ano_retro with 0, mes_retro with 0 for mes_retro=99 | replace ano_retro with 0, mes_retro with 0 for mes_retro=99 | ||
| + | |||
======Nro de renglon====== | ======Nro de renglon====== | ||
replace all nro_renglo with 1 for nro_renglo=0 | replace all nro_renglo with 1 for nro_renglo=0 | ||
| Línea 49: | Línea 212: | ||
======Registros sin datos====== | ======Registros sin datos====== | ||
brow for isnull(nro_liqui) | 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== | ==Destino Final de los DBFS== | ||
===Conexion=== | ===Conexion=== | ||
| Línea 61: | Línea 239: | ||
Importante el nombre debe ser | Importante el nombre debe ser | ||
recibo1.DBF (nombre en minuscula, extension en mayuscula) | 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) | ||
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)