Diferencia entre revisiones de «Controlar Archivo de Acreditación de Banco Nación»
De Wiki
(→Botón "Buscar Archivo") |
(→Botón "Buscar Archivo") |
||
Línea 12: | Línea 12: | ||
===Botón "Buscar Archivo"=== | ===Botón "Buscar Archivo"=== | ||
− | CLOSE TABLES all | + | CLOSE TABLES all |
+ | |||
+ | * programas = vm_programas + "prg_ver_sicoss.prg" | ||
+ | * do &programas WITH vm_mes,vm_anio | ||
− | + | volver=fullpath(curdir()) | |
− | + | ||
+ | arch=getfile("TXT","Abra suledos.txt","tomar",0,"Tomar Archivo de Banco Nación") | ||
− | + | *info del archivo | |
+ | vec = ADIR(vector_file, arch) | ||
− | + | v_arch_nombre= vector_file(1) | |
− | + | v_arch_tamanio= vector_file(2) | |
− | + | v_arch_fecha= vector_file(3) | |
− | + | v_arch_hora= vector_file(4) | |
− | + | ||
− | v_arch_nombre= vector_file(1) | + | |
− | v_arch_tamanio= vector_file(2) | + | set defa to &volver |
− | v_arch_fecha= vector_file(3) | + | *--cartel de espera |
− | v_arch_hora= vector_file(4) | + | formulario = vm_formularios + "frmprocesando.scx" |
− | + | do form &formulario | |
− | + | *-- | |
− | set defa to &volver | + | |
− | *--cartel de espera | + | |
− | formulario = vm_formularios + "frmprocesando.scx" | + | *--tabla para asignar el arch |
− | do form &formulario | + | tabla=vm_bases_informes + "temponacion" |
− | *-- | + | create table &tabla free (datos C(254)) |
− | + | ||
− | + | APPEND FROM &arch type sdf | |
− | *--tabla para asignar el arch | + | |
− | tabla=vm_bases_informes + "temponacion" | + | IF NOT USED("temponacion") |
− | create table &tabla free (datos C(254)) | + | USE &tabla IN 0 |
− | + | endif | |
− | APPEND FROM &arch type sdf | + | |
− | + | *--tabla de cabecera | |
− | IF NOT USED("temponacion") | + | |
− | + | *tabla=vm_bases_informes+"cabecera_ob" | |
− | endif | + | *CREATE TABLE &tabla free (tipo c(1),iden_empre C(11),casa_cuent C(4),cuen_tipo C(1),cuen_moned C(1),cuen_nro c(11),cuen_dv C(1),; |
− | + | mone_trans C(1),fecha C(8),empresa C(20),tipo_trans C(3),largo_lin N(3)) | |
− | *--tabla de cabecera | + | |
− | + | tabla=vm_bases_informes+"datos_arch" | |
− | *tabla=vm_bases_informes+"cabecera_ob" | + | CREATE TABLE &tabla free (nombre c(100),tamanio C(50),fecha C(50),hora C(50),respons C(150),proceso C(150),registros N(8),largo_lin2 |
− | *CREATE TABLE &tabla free (tipo c(1),iden_empre C(11),casa_cuent C(4),cuen_tipo C(1),cuen_moned C(1),cuen_nro c(11),cuen_dv C(1),; | + | C(100),; |
− | + | fecha_p C(6),empresa C(4),total N(15,2)) | |
− | + | ||
− | tabla=vm_bases_informes+"datos_arch" | + | |
− | CREATE TABLE &tabla free (nombre c(100),tamanio C(50),fecha C(50),hora C(50),respons C(150),proceso C(150),registros N(8),largo_lin2 C(100),; | + | |
− | + | tabla=vm_bases_informes+"cuerpo_ob_n" | |
− | + | CREATE TABLE &tabla free (casa c(4),cuenta C(10),movimiento C(3),fecha_pago C(6),identi_emp C(4),legajo C(9),importe c(13),nombre C(30),; | |
− | + | tipo_doc C(2),nume_doc C(8),largo_lin N(3)) | |
− | + | ||
− | tabla=vm_bases_informes+"cuerpo_ob_n" | + | |
− | CREATE TABLE &tabla free (casa c(4),cuenta C(10),movimiento C(3),fecha_pago C(6),identi_emp C(4),legajo C(9),importe c(13),nombre C(30),; | + | |
− | + | v_cant_reg=RECCOUNT("temponacion") | |
− | + | ||
− | + | *--cargo la info del arch | |
− | + | SELECT datos_arch | |
− | v_cant_reg=RECCOUNT("temponacion") | + | APPEND BLANK |
− | + | replace nombre WITH v_arch_nombre,; | |
− | *--cargo la info del arch | + | tamanio WITH ALLTRIM(STR(v_arch_tamanio)),; |
− | SELECT datos_arch | + | fecha WITH PADL(ALLTRIM(STR(day(v_arch_fecha))),2,"0")+"-"+PADL(ALLTRIM(STR(month(v_arch_fecha))),2,"0")+"- |
− | APPEND BLANK | + | "+ALLTRIM(STR(YEAR(v_arch_fecha))),; |
− | replace nombre WITH v_arch_nombre,; | + | hora WITH v_arch_hora,; |
− | + | respons with thisform.txtresponsable.Text,; | |
− | + | proceso with thisform.txtproceso.Text,; | |
− | + | registros WITH v_cant_reg | |
− | |||
− | |||
− | |||
− | *---escaneo y guardo el informe | + | *---escaneo y guardo el informe |
− | SELECT temponacion | + | SELECT temponacion |
− | SCAN | + | SCAN |
− | + | SCATTER memvar | |
− | + | ||
− | + | *casa c(4),cuenta C(10),movimiento C(3),fecha_pago C(6),identi_emp C(4),legajo C(9),importe c(13),nombre C(30),; | |
− | + | tipo_doc C(2),nume_doc C(8) | |
− | + | ||
− | + | *son los de detallee | |
− | + | v_casa=SUBSTR(m.datos,1,4) | |
− | + | v_cuenta=SUBSTR(m.datos,5,10) | |
− | + | v_movimiento=SUBSTR(m.datos,15,3) | |
− | + | v_fecha_pago=SUBSTR(m.datos,18,6) | |
− | + | v_identi_emp=SUBSTR(m.datos,24,4) | |
− | + | v_legajo=SUBSTR(m.datos,28,9) | |
− | + | v_importe=SUBSTR(m.datos,37,13) | |
− | + | v_nombre=SUBSTR(m.datos,50,30) | |
− | + | v_tipo_doc=SUBSTR(m.datos,80,2) | |
− | + | v_nume_doc=SUBSTR(m.datos,82,8) | |
− | + | v_largo_linea=LEN(ALLTRIM(m.datos)) | |
− | + | ||
− | + | SELECT cuerpo_ob_n | |
− | + | APPEND blank | |
− | + | replace casa WITH v_casa,; | |
− | + | cuenta WITH v_cuenta,; | |
− | + | movimiento WITH v_movimiento,; | |
− | + | fecha_pago WITH v_fecha_pago,; | |
− | + | identi_emp WITH v_identi_emp,; | |
− | + | legajo WITH v_legajo,; | |
− | + | importe with v_importe,; | |
− | + | nombre WITH v_nombre,; | |
− | + | tipo_doc with v_tipo_doc,; | |
− | + | nume_doc with v_nume_doc,; | |
− | + | largo_lin with v_largo_linea | |
− | |||
− | |||
− | + | endscan | |
− | + | SELECT SUM(VAL(importe))/100 as tot FROM cuerpo_ob_n INTO CURSOR total | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | INTO CURSOR | ||
− | v_largo="" | + | v_total=total.tot |
− | SELECT mirar | + | *MESSAGEBOX(V_TOTAL) |
− | SCAN | + | *--veo las cantidades de lineas en los reg 2 |
− | + | SELECT largo_lin,COUNT(*) as canti; | |
− | + | from cuerpo_ob_n; | |
− | endscan | + | GROUP BY largo_lin; |
− | SELECT datos_arch | + | ORDER BY canti desc; |
− | replace largo_lin2 WITH v_largo,; | + | INTO CURSOR mirar |
− | + | ||
− | + | v_largo="" | |
− | + | SELECT mirar | |
− | + | SCAN | |
− | *--fin cartel de espera | + | SCATTER memvar |
− | frmprocesando.release | + | v_largo=v_largo+ALLTRIM(STR(m.canti))+" lineas de "+ALLTRIM(STR(m.largo_lin))+"; " |
+ | endscan | ||
+ | SELECT datos_arch | ||
+ | replace largo_lin2 WITH v_largo,; | ||
+ | total WITH v_total,; | ||
+ | empresa WITH v_identi_emp,; | ||
+ | fecha_p WITH v_fecha_pago | ||
+ | |||
+ | *--fin cartel de espera | ||
+ | frmprocesando.release | ||
− | informes = vm_informes + "frx_contr_banco2.frx" | + | informes = vm_informes + "frx_contr_banco2.frx" |
− | report format &informes preview | + | report format &informes preview |
===Botón "Ver Detalle"=== | ===Botón "Ver Detalle"=== |
Revisión del 15:32 30 ene 2012
Contenido
FORMULARIO
INFORME
CÓDIGO
Botón "Buscar Archivo"
CLOSE TABLES all * programas = vm_programas + "prg_ver_sicoss.prg" * do &programas WITH vm_mes,vm_anio
volver=fullpath(curdir()) arch=getfile("TXT","Abra suledos.txt","tomar",0,"Tomar Archivo de Banco Nación")
*info del archivo vec = ADIR(vector_file, arch)
v_arch_nombre= vector_file(1) v_arch_tamanio= vector_file(2) v_arch_fecha= vector_file(3) v_arch_hora= vector_file(4) set defa to &volver *--cartel de espera formulario = vm_formularios + "frmprocesando.scx" do form &formulario *-- *--tabla para asignar el arch tabla=vm_bases_informes + "temponacion" create table &tabla free (datos C(254)) APPEND FROM &arch type sdf IF NOT USED("temponacion") USE &tabla IN 0 endif *--tabla de cabecera *tabla=vm_bases_informes+"cabecera_ob" *CREATE TABLE &tabla free (tipo c(1),iden_empre C(11),casa_cuent C(4),cuen_tipo C(1),cuen_moned C(1),cuen_nro c(11),cuen_dv C(1),; mone_trans C(1),fecha C(8),empresa C(20),tipo_trans C(3),largo_lin N(3)) tabla=vm_bases_informes+"datos_arch" CREATE TABLE &tabla free (nombre c(100),tamanio C(50),fecha C(50),hora C(50),respons C(150),proceso C(150),registros N(8),largo_lin2 C(100),; fecha_p C(6),empresa C(4),total N(15,2)) tabla=vm_bases_informes+"cuerpo_ob_n" CREATE TABLE &tabla free (casa c(4),cuenta C(10),movimiento C(3),fecha_pago C(6),identi_emp C(4),legajo C(9),importe c(13),nombre C(30),; tipo_doc C(2),nume_doc C(8),largo_lin N(3)) v_cant_reg=RECCOUNT("temponacion") *--cargo la info del arch SELECT datos_arch APPEND BLANK replace nombre WITH v_arch_nombre,; tamanio WITH ALLTRIM(STR(v_arch_tamanio)),; fecha WITH PADL(ALLTRIM(STR(day(v_arch_fecha))),2,"0")+"-"+PADL(ALLTRIM(STR(month(v_arch_fecha))),2,"0")+"- "+ALLTRIM(STR(YEAR(v_arch_fecha))),; hora WITH v_arch_hora,; respons with thisform.txtresponsable.Text,; proceso with thisform.txtproceso.Text,; registros WITH v_cant_reg
*---escaneo y guardo el informe SELECT temponacion SCAN SCATTER memvar *casa c(4),cuenta C(10),movimiento C(3),fecha_pago C(6),identi_emp C(4),legajo C(9),importe c(13),nombre C(30),; tipo_doc C(2),nume_doc C(8) *son los de detallee v_casa=SUBSTR(m.datos,1,4) v_cuenta=SUBSTR(m.datos,5,10) v_movimiento=SUBSTR(m.datos,15,3) v_fecha_pago=SUBSTR(m.datos,18,6) v_identi_emp=SUBSTR(m.datos,24,4) v_legajo=SUBSTR(m.datos,28,9) v_importe=SUBSTR(m.datos,37,13) v_nombre=SUBSTR(m.datos,50,30) v_tipo_doc=SUBSTR(m.datos,80,2) v_nume_doc=SUBSTR(m.datos,82,8) v_largo_linea=LEN(ALLTRIM(m.datos)) SELECT cuerpo_ob_n APPEND blank replace casa WITH v_casa,; cuenta WITH v_cuenta,; movimiento WITH v_movimiento,; fecha_pago WITH v_fecha_pago,; identi_emp WITH v_identi_emp,; legajo WITH v_legajo,; importe with v_importe,; nombre WITH v_nombre,; tipo_doc with v_tipo_doc,; nume_doc with v_nume_doc,; largo_lin with v_largo_linea
endscan
SELECT SUM(VAL(importe))/100 as tot FROM cuerpo_ob_n INTO CURSOR total
v_total=total.tot *MESSAGEBOX(V_TOTAL) *--veo las cantidades de lineas en los reg 2 SELECT largo_lin,COUNT(*) as canti; from cuerpo_ob_n; GROUP BY largo_lin; ORDER BY canti desc; INTO CURSOR mirar v_largo="" SELECT mirar SCAN SCATTER memvar v_largo=v_largo+ALLTRIM(STR(m.canti))+" lineas de "+ALLTRIM(STR(m.largo_lin))+"; " endscan SELECT datos_arch replace largo_lin2 WITH v_largo,; total WITH v_total,; empresa WITH v_identi_emp,; fecha_p WITH v_fecha_pago *--fin cartel de espera frmprocesando.release
informes = vm_informes + "frx_contr_banco2.frx" report format &informes preview
Botón "Ver Detalle"
SELECT cuerpo_ob_n BROWSE nomod
Botón "Formato"
DECLARE INTEGER ShellExecute ;
IN SHELL32.DLL ;
INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
V_busca = 'R:\werken\docs\Formato_Banco_Nacion.pdf' ShellExecute(0, "open",v_busca,"", Fullpath(""),0)
Botón "Salir"
thisform.release