Diferencia entre revisiones de «Subir Planillas Web»
(→Novedad 1 erroneo) |
(→Ejecutar el Script de publicación de la Planilla Virtual) |
||
(No se muestran 43 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 | ||
− | + | ||
+ | ¿Cómo Eliminar Columnas? | ||
+ | |||
+ | use c:\"ubicacion" | ||
+ | brows | ||
+ | modify structure | ||
+ | ó | ||
alter table recibo2 drop column f_baja | alter table recibo2 drop column f_baja | ||
alter table recibo2 drop column f_perm | alter table recibo2 drop column f_perm | ||
Línea 60: | Línea 201: | ||
======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 69: | Línea 213: | ||
brow for isnull(nro_liqui) | brow for isnull(nro_liqui) | ||
======Novedad 1 erroneo====== | ======Novedad 1 erroneo====== | ||
− | + | En novedad1 '''NO''' debe haber campos vacios o nulos | |
brow for empty(novedad1) | brow for empty(novedad1) | ||
brow for isnull(novedad1) | brow for isnull(novedad1) | ||
+ | |||
======Nro de renglon erroneo====== | ======Nro de renglon erroneo====== | ||
− | + | En nro_renglo '''NO''' debe haber campos vacios o nulos | |
brow for empty(nro_renglo) | brow for empty(nro_renglo) | ||
brow for isnull(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== | ||
Línea 105: | Línea 255: | ||
recibo2 | recibo2 | ||
recibo3 | recibo3 | ||
− | Luego hacer limpieza full analyse | + | Luego hacer limpieza full analyse (selectall/limpiar->execute) |
==Ejecucion del script== | ==Ejecucion del script== | ||
Línea 112: | Línea 262: | ||
usuario dgp | usuario dgp | ||
clave ***** | clave ***** | ||
+ | Ahora me logueo como root | ||
+ | |||
===Ejecucion=== | ===Ejecucion=== | ||
Línea 119: | Línea 271: | ||
Esto carga las tablas | Esto carga las tablas | ||
recibo1,recibo2 y recibo3 | recibo1,recibo2 y recibo3 | ||
− | de la base haberes_temp | + | 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== | ==Bajada y subida== | ||
Una vez que se cargaron las tablas en habers_temp | Una vez que se cargaron las tablas en habers_temp | ||
Línea 131: | Línea 303: | ||
su postgres | su postgres | ||
===dump de la base haberers_temp=== | ===dump de la base haberers_temp=== | ||
− | cd | + | # cd |
− | /usr/bin/pg_dump -d haberes_temp > ./ | + | # /usr/bin/pg_dump -d haberes_temp > ./haberesmmaa_final.sql |
+ | |||
===levantado del dump a la base haberes=== | ===levantado del dump a la base haberes=== | ||
− | cd | + | # cd |
− | + | # /usr/bin/psql haberes < ./haberesmmaa_final.sql | |
==Creditos== | ==Creditos== | ||
El script de conversion de dbfs a postgres fue desarrollado por Martin Villalba | 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)