Diferencia entre revisiones de «Controlar Archivo de Acreditación de Otros Bancos»

De Wiki
Saltar a: navegación, buscar
(FORMULARIO)
 
(No se muestran 13 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
==FORMULARIO==
+
==<div style="text-align:center;color:blue">'''FORMULARIO'''</div>==
 +
 
 +
===frm_contr_banco1.scx===
  
 
[[Imagen:Frm_contr_banco1.PNG]]
 
[[Imagen:Frm_contr_banco1.PNG]]
  
==INFORME==
+
==<div style="text-align:center;color:blue">'''INFORME'''</div>==
 +
 
 +
===frx_contr_banco1.frx===
  
 +
[[Imagen:Frx contr banco1.PNG]]
  
 +
==<div style="text-align:center;color:blue">'''CÓDIGO'''</div>==
  
==CÓDIGO==
+
===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_Otros_Bancos.pdf'
 +
  ShellExecute(0, "open",v_busca,"", Fullpath(""),0)
  
===Programa "prg_fec_permanencia.prg"===
+
===Botón "Buscar Archivo" (cmdaceptar)===
  
  
===Botón "Procesar" (btnProcesar)===
+
  CLOSE TABLES all
 +
 
 +
  *    programas = vm_programas + "prg_ver_sicoss.prg"
 +
  *    do &programas WITH vm_mes,vm_anio
 +
 
 +
  volver=fullpath(curdir())
 +
 
 +
  arch=getfile("TXT","Abra TFPAGOS.txt","tomar",0,"Tomar Archivo de Otros Bancos")
 +
 
 +
  *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 + "tempoban"
 +
  create table &tabla free (datos C(254))
 +
 
 +
  APPEND FROM &arch type sdf
 +
 
 +
  IF NOT USED("tempoban")
 +
  USE &tabla IN 0
 +
  endif
 +
 
 +
  *--tabla de cabecera
 +
  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(3))
 +
 
 +
 
 +
  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+"cuerpo_ob"
 +
  CREATE TABLE &tabla free (tipo c(1),enti_acred C(4),sucu_acred C(4),bloq1_dv C(1),cuen_acred C(14),importe c(10),refe_univ C(12),;
 +
                            cliente C(22),clase_doc C(1),tipo_doc C(2),nume_doc C(11),largo_lin N(3))
 +
                           
 +
 
 +
  tabla=vm_bases_informes+"pie_ob"
 +
  CREATE TABLE &tabla free (tipo c(1),impo_total C(15),cant_regis C(7),largo_lin N(3),largo_lin2 C(100))
 +
                           
 +
  v_cant_reg=RECCOUNT("tempoban")                         
 +
  *--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 tempoban
 +
  SCAN
 +
    SCATTER memvar
 +
   
 +
    IF RECNO("tempoban")=1
 +
      *es el rpimer registro
 +
      v_tipo=SUBSTR(m.datos,1,1)
 +
      v_identi_empre=SUBSTR(m.datos,2,11)
 +
      v_casa_cuenta=SUBSTR(m.datos,13,4)
 +
      v_cuenta_tipo=SUBSTR(m.datos,17,1)
 +
      v_cuenta_moneda=SUBSTR(m.datos,18,1)
 +
      v_cuenta_nro=SUBSTR(m.datos,19,11)
 +
      v_cuenta_dig_verif=SUBSTR(m.datos,30,1)
 +
      v_moneda_transaccion=SUBSTR(m.datos,31,1)
 +
      v_fecha=SUBSTR(m.datos,32,8)
 +
      v_empresa=SUBSTR(m.datos,40,20)
 +
      v_tipo_transfe=SUBSTR(m.datos,60,3)
 +
     
 +
      v_largo_linea=LEN(ALLTRIM(m.datos))
 +
   
 +
      SELECT cabecera_ob
 +
      APPEND blank
 +
      replace tipo        WITH v_tipo,;
 +
              iden_empre  WITH v_identi_empre,;
 +
              casa_cuent  WITH v_casa_cuenta,;
 +
              cuen_tipo  WITH v_cuenta_tipo,;
 +
              cuen_moned  WITH v_cuenta_moneda,;
 +
              cuen_nro    WITH v_cuenta_nro,;
 +
              cuen_dv    WITH v_cuenta_dig_verif,;
 +
              mone_trans  WITH v_moneda_transaccion,;
 +
              fecha      WITH v_fecha,;
 +
              empresa    WITH v_empresa,;
 +
              tipo_trans  WITH v_tipo_transfe,;
 +
              largo_lin  with v_largo_linea
 +
    endif
 +
   
 +
    IF RECNO("tempoban")>1 AND RECCOUNT("tempoban")<>RECNO("tempoban")
 +
      *son los de detallee
 +
      v_tipo=SUBSTR(m.datos,1,1)
 +
      v_enti_acred=SUBSTR(m.datos,2,4)
 +
      v_sucu_acred=SUBSTR(m.datos,6,4)
 +
      v_bloq1_dv=SUBSTR(m.datos,10,1)
 +
      v_cuen_acred=SUBSTR(m.datos,11,14)
 +
      v_importe=SUBSTR(m.datos,25,10)
 +
      v_refe_univ=SUBSTR(m.datos,35,15)
 +
      v_cliente=SUBSTR(m.datos,50,22)
 +
      v_clase_doc=SUBSTR(m.datos,72,1)
 +
      v_tipo_doc=SUBSTR(m.datos,73,2)
 +
      v_nume_doc=SUBSTR(m.datos,75,11)
 +
      v_largo_linea=LEN(ALLTRIM(m.datos))
 +
         
 +
      SELECT cuerpo_ob
 +
      APPEND blank
 +
      replace tipo        WITH v_tipo,;
 +
              enti_acred  WITH v_enti_acred,;
 +
              sucu_acred  WITH v_sucu_acred,;
 +
              bloq1_dv    WITH v_bloq1_dv,;
 +
              cuen_acred  WITH v_cuen_acred,;
 +
              importe    WITH v_importe,;
 +
              refe_univ  WITH v_refe_univ,;
 +
              cliente    WITH v_cliente,;
 +
              clase_doc  WITH v_clase_doc,;
 +
              tipo_doc    WITH v_tipo_doc,;
 +
              nume_doc    WITH v_nume_doc,;
 +
              largo_lin  with v_largo_linea
 +
     
 +
 
 +
    endif
 +
 
 +
    IF RECCOUNT("tempoban")=RECNO("tempoban")
 +
      v_tipo=SUBSTR(m.datos,1,1)
 +
      v_impo_total=SUBSTR(m.datos,2,15)
 +
      v_cant_regis=SUBSTR(m.datos,17,7)
 +
      v_largo_linea=LEN(ALLTRIM(m.datos))
 +
 
 +
   
 +
      SELECT pie_ob
 +
      APPEND blank
 +
      replace tipo        WITH v_tipo,;
 +
              impo_total  WITH v_impo_total,;
 +
              cant_regis  WITH v_cant_regis,;
 +
              largo_lin  WITH v_largo_linea
 +
     
 +
    endif
 +
  endscan
 +
 
 +
 
 +
  *--veo las cantidades de lineas en los reg 2
 +
  SELECT largo_lin,COUNT(*) as canti;
 +
  from cuerpo_ob;
 +
  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 pie_ob
 +
  replace largo_lin2 WITH v_largo
 +
  *--fin cartel de espera
 +
  frmprocesando.release
 +
 
 +
 
 +
 
 +
  informes = vm_informes + "frx_contr_banco1.frx"
 +
  report format &informes preview
  
===Botón "Cancelar" (btnCancelar)===
+
===Botón "Ver Cabecera"(cmdcabecera)===
  
   THISFORM.Release
+
   SELECT cabecera_ob
 +
  BROWSE nomod
  
===Botón "Ayuda"(btnAyuda)===
+
===Botón "Ver detalle" (cmddetalle)===
  
 +
  SELECT cuerpo_ob
 +
  BROWSE nomod
  
===Combo "Año" (cmbAnio)===
+
===Botón "Ver pie" (cmdpie)===
  
 +
  SELECT pie_ob
 +
  BROWSE nomod
  
===Combo "Mes" (cmbMes)===
+
===Botón "Salir" (cmdsalir)===
  
 +
  thisform.release
  
==MANUAL DEL USUARIO==
+
==<div style="text-align:center;color:blue">'''MANUAL DEL USUARIO'''</div>==
  
  
===Procedimiento de Uso===
+
'''NO SE ENCUENTRA DISPONIBLE'''

Revisión actual del 13:32 14 feb 2012

FORMULARIO

frm_contr_banco1.scx

Frm contr banco1.PNG

INFORME

frx_contr_banco1.frx

Frx contr banco1.PNG

CÓDIGO

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_Otros_Bancos.pdf'
  ShellExecute(0, "open",v_busca,"", Fullpath(""),0)

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 TFPAGOS.txt","tomar",0,"Tomar Archivo de Otros Bancos")
  
  *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 + "tempoban"
  create table &tabla free (datos C(254))
  
  APPEND FROM &arch type sdf
  
  IF NOT USED("tempoban")
  USE &tabla IN 0 
  endif
  
  *--tabla de cabecera
  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(3))
  
  
  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+"cuerpo_ob"
  CREATE TABLE &tabla free (tipo c(1),enti_acred C(4),sucu_acred C(4),bloq1_dv C(1),cuen_acred C(14),importe c(10),refe_univ C(12),;
                            cliente C(22),clase_doc C(1),tipo_doc C(2),nume_doc C(11),largo_lin N(3))
                            
  
  tabla=vm_bases_informes+"pie_ob"
  CREATE TABLE &tabla free (tipo c(1),impo_total C(15),cant_regis C(7),largo_lin N(3),largo_lin2 C(100))
                            
  v_cant_reg=RECCOUNT("tempoban")                          
  *--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 tempoban
  SCAN 
    SCATTER memvar
    
    IF RECNO("tempoban")=1
      *es el rpimer registro
      v_tipo=SUBSTR(m.datos,1,1)
      v_identi_empre=SUBSTR(m.datos,2,11)
      v_casa_cuenta=SUBSTR(m.datos,13,4)
      v_cuenta_tipo=SUBSTR(m.datos,17,1)
      v_cuenta_moneda=SUBSTR(m.datos,18,1)
      v_cuenta_nro=SUBSTR(m.datos,19,11)
      v_cuenta_dig_verif=SUBSTR(m.datos,30,1)
      v_moneda_transaccion=SUBSTR(m.datos,31,1)
      v_fecha=SUBSTR(m.datos,32,8)
      v_empresa=SUBSTR(m.datos,40,20)
      v_tipo_transfe=SUBSTR(m.datos,60,3)
      
      v_largo_linea=LEN(ALLTRIM(m.datos))
    
      SELECT cabecera_ob
      APPEND blank
      replace tipo        WITH v_tipo,;
              iden_empre  WITH v_identi_empre,;
              casa_cuent  WITH v_casa_cuenta,;
              cuen_tipo   WITH v_cuenta_tipo,;
              cuen_moned  WITH v_cuenta_moneda,;
              cuen_nro    WITH v_cuenta_nro,;
              cuen_dv     WITH v_cuenta_dig_verif,;
              mone_trans  WITH v_moneda_transaccion,;
              fecha       WITH v_fecha,;
              empresa     WITH v_empresa,;
              tipo_trans  WITH v_tipo_transfe,;
              largo_lin   with v_largo_linea
    endif
   
    IF RECNO("tempoban")>1 AND RECCOUNT("tempoban")<>RECNO("tempoban")
      *son los de detallee
      v_tipo=SUBSTR(m.datos,1,1)
      v_enti_acred=SUBSTR(m.datos,2,4)
      v_sucu_acred=SUBSTR(m.datos,6,4)
      v_bloq1_dv=SUBSTR(m.datos,10,1)
      v_cuen_acred=SUBSTR(m.datos,11,14)
      v_importe=SUBSTR(m.datos,25,10)
      v_refe_univ=SUBSTR(m.datos,35,15)
      v_cliente=SUBSTR(m.datos,50,22)
      v_clase_doc=SUBSTR(m.datos,72,1)
      v_tipo_doc=SUBSTR(m.datos,73,2)
      v_nume_doc=SUBSTR(m.datos,75,11)
      v_largo_linea=LEN(ALLTRIM(m.datos))
         
      SELECT cuerpo_ob
      APPEND blank
      replace tipo        WITH v_tipo,;
              enti_acred  WITH v_enti_acred,;
              sucu_acred  WITH v_sucu_acred,;
              bloq1_dv    WITH v_bloq1_dv,;
              cuen_acred  WITH v_cuen_acred,;
              importe     WITH v_importe,;
              refe_univ   WITH v_refe_univ,;
              cliente     WITH v_cliente,;
              clase_doc   WITH v_clase_doc,;
              tipo_doc    WITH v_tipo_doc,;
              nume_doc    WITH v_nume_doc,;
              largo_lin   with v_largo_linea
     
 
    endif
  
    IF RECCOUNT("tempoban")=RECNO("tempoban")
      v_tipo=SUBSTR(m.datos,1,1)
      v_impo_total=SUBSTR(m.datos,2,15)
      v_cant_regis=SUBSTR(m.datos,17,7)
      v_largo_linea=LEN(ALLTRIM(m.datos))
  	
   
      SELECT pie_ob
      APPEND blank
      replace tipo        WITH v_tipo,;
              impo_total  WITH v_impo_total,;
              cant_regis  WITH v_cant_regis,;
              largo_lin   WITH v_largo_linea
      
    endif
  endscan
  
  
  *--veo las cantidades de lineas en los reg 2
  SELECT largo_lin,COUNT(*) as canti;
  from cuerpo_ob;
  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 pie_ob
  replace largo_lin2 WITH v_largo
  *--fin cartel de espera
  frmprocesando.release
  
  
  
  informes = vm_informes + "frx_contr_banco1.frx"
  report format &informes preview

Botón "Ver Cabecera"(cmdcabecera)

  SELECT cabecera_ob
  BROWSE nomod

Botón "Ver detalle" (cmddetalle)

  SELECT cuerpo_ob
  BROWSE nomod

Botón "Ver pie" (cmdpie)

  SELECT pie_ob
  BROWSE nomod

Botón "Salir" (cmdsalir)

  thisform.release

MANUAL DEL USUARIO

NO SE ENCUENTRA DISPONIBLE