Controlar Archivo de Acreditación de Banco Nación
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