Diferencia entre revisiones de «Controlar Archivo de Acreditación de Banco Nación»
De Wiki
(→INFORME) |
|||
| (No se muestran 14 ediciones intermedias del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | ==FORMULARIO== | + | ==<div style="text-align:center;color:blue">'''FORMULARIO'''</div>== |
| + | |||
| + | ===frm_contr_banco2.scx=== | ||
[[Imagen:Frm_contr_banco2.PNG]] | [[Imagen:Frm_contr_banco2.PNG]] | ||
| − | ==INFORME== | + | ==<div style="text-align:center;color:blue">'''INFORME'''</div>== |
| + | |||
| + | ===frx_contr_banco2.frx=== | ||
[[Imagen:Frx_contr_banco2.PNG]] | [[Imagen:Frx_contr_banco2.PNG]] | ||
| − | == | + | ==<div style="text-align:center;color:blue">'''CÓDIGO'''</div>== |
| − | |||
| − | |||
| − | = | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | ===Botón "Buscar Archivo"(cmdaceptar)=== | ||
| − | + | 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)) | |
| − | *-- | + | |
| − | SELECT | + | 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) | |
| − | + | ||
| − | SELECT cuerpo_ob_n | + | *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" (cmddetalle)=== | |
| − | + | SELECT cuerpo_ob_n | |
| + | BROWSE nomod | ||
| − | + | ===Botón "Formato" (cmdformato)=== | |
| − | V_busca = 'R:\werken\docs\Formato_Banco_Nacion.pdf' | + | DECLARE INTEGER ShellExecute ; |
| − | ShellExecute(0, "open",v_busca,"", Fullpath(""),0) | + | 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"=== | + | ===Botón "Salir" (cmdcancelar)=== |
| − | thisform.release | + | thisform.release |
Revisión actual del 13:30 14 feb 2012
Contenido
FORMULARIO
frm_contr_banco2.scx
INFORME
frx_contr_banco2.frx
CÓDIGO
Botón "Buscar Archivo"(cmdaceptar)
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" (cmddetalle)
SELECT cuerpo_ob_n BROWSE nomod
Botón "Formato" (cmdformato)
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" (cmdcancelar)
thisform.release