// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// Reporte:            Catálogo de Clientes Ordenado por Código
//                     Directorio de Clientes Ordenado por Código
//                     Catálogo de Clientes Ordenado por Nombre
//                     Directorio de Clientes Ordenado por Nombre
//
// Sistema:     ADMINPAQ  Versión v1.0 Windows
//
// Descripcion: 
// 
//
//
// 
// Consideraciones :
// Creación  :  Luis Palau Castañeda.  12/septiembre/2001
// Revisiones : Fernando Gonzalez      17/abril/2002 
// Daniel Robles N.D.0954 05/agosto/2002
// N.D.3168  LAP  EL cliente / proveedor tiene dos monedas, una de ellas la moneda base.
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
// INCLUSION DE ARCHIVOS
      Incluye LibAdminPaq.rpt


// INICIO PARAMETROS
    Parametro pClienteInicial = '(Ninguno)'
    Parametro pClienteFinal = 'z'
    Parametro pEstadoCliente = 0  //	0 = Todos     1 = Clientes Activos     2 = Clientes Inactivos
    Parametro pInformacion = '1,2,3,4' //1=Datos Generales 2=Condiciones de Crédito 3=Datos de Envío 4=Impuestos Retenciones y Agentes
                                       //1=Datos Complementarios
    Parametro pIdClase1   = ''
    Parametro pIdClase2   = 0
    Parametro pIdClase3   = 0
    Parametro pIdClase4   = 0 
    Parametro pIdClase5   = 0   
    Parametro pIdClase6   = 0



    


    Parametro pTipoReporte = 1  //1  Catálogo de Clientes Ordenado por Codigo
                                //2  Directorio de Clientes Ordenado por Codigo
                                //3  Catálogo de Clientes Ordenado por Nombre
                                //4  Directorio de Clientes Ordenado por Nombre
// INICIO APERTURA TABLAS

  UsaEmpresa tEmpresa;'AdminpaqW'

   // Parametros de la empresa
  UsaTabla tParametros = tEmpresa['mgw10000']                    

  //Clientes
  UsaTabla tClientes = tEmpresa['mgw10002']
  tClientes.Usaindice['iCodigoTipo']

  //Almacenes
  UsaTabla tAlmacenes = tEmpresa['mgw10003']
  tAlmacenes.Usaindice['']

  //Agentes
  UsaTabla tAgentes = tEmpresa['mgw10001']
  tAgentes.Usaindice['']

  //Direcciones
  UsaTabla tDirecciones = tEmpresa['mgw10011']
  tDirecciones.Usaindice['iCatTipoCatTipoDir']

  //Monedas
  UsaTabla tMonedas = tEmpresa['mgw10034']          
  tMonedas.Usaindice['']                     // Usa el índice primario, por cIdMoneda

  //Clasificaciones
  UsaTabla tClasificaciones = tEmpresa['mgw10020']
  tClasificaciones.Usaindice['']


  tParametros.Busca Primero   





//DEFINICION DE COLUMNAS 

  Columnas 20;2.7,0.15,5.55,0.15,1.5,0.15,0.9,0.15, 0,0 ,1.65,0.15,1.65,0.15,2.25,1.15,1.05,0.15,0

  UsaLetra 'Arial'
  Altura 9 
//  [C0..C7].Decimales 0
//  [C0..C7].Blanco ' '
  gDecimales = 2
//  [C8..C14].Coma
//  [C8..C14].Decimales gDecimales
//  [C8..C14].Blanco '0.00'
//  [c9,c11,c13,c15..c19].Blanco ' '

//VARIABLES GLOBALES 
  
  gDelaFecha = ''
  gAlaFecha  = ''
  gRenglon = '' 
  gMoneda = ''
  vTipoAcumulado = 0
  vImporteModelo  =  0
  vIdEjercicio = 0
  gNombreMoneda = tMonedas(cNombreMoneda)
 
  kMeses = 'Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic'[C0]


  gDelaFecha = @str(pMes;0) 
  Mientras @len(gDelaFecha)<2
     gDelaFecha   = '0' & gDelaFecha 
  FinMientras
  gDelaFecha = @str(pEjercicio;0) &   gDelaFecha & '02'
//FUNCIONES <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
//***********************************************************************************************
//	EditaFec
// Descripcion: Esta función recibe una fecha con formato ddmmaaaa y la convierte a formato
//	dd/mmm/aaaa
// Entradas :  Fecha : contiene la fecha AAAAMMDD
// Salida :    regresa una cadena con la fecha en formato DD/MMM/AAAA
// Autor :     FBCS junio 2001
//***********************************************************************************************
DefFunc fEditaFecha(aFecha)
   Local lMes
   Local lRegreso

	lMes = @INT(@SubStr(aFecha;4;2))
	lRegreso[0] = @SubStr(aFecha;6;2) & '/' & @Escoge(kMeses;lMes-1) & '/' & @SubStr(aFecha;0;4)
   Retorna lRegreso
FinFunc

//***********************************************************************************************
// fMascaraDias()
//    Esta función recibe un campo numérico, que en una representación binaria de siete digitos
//    indica ciertos días de la semana, según el digito que esté prendido, estos pueden ser
//    1111111 - Dom Sab Vie Jue Mie Mar Lun
//***********************************************************************************************
Deffunc fMascaraDias(aValor)
  Local lDias,lGuion

  // solo nos interesan los 7 bits mas a la derecha
  
  lGuion = ''    
  lDias = ''
  Si aValor%2 = 1       // Un numero non = bit menos significativo encendido
    lDias = lGuion&'L'
    lGuion = '-'
  Finsi
  Si aValor%4 >= 2      // Valor Entre 1y4 = Segundo bit menos significativo encendido
    lDias = lDias & lGuion & 'M'
    lGuion = '-'
  Finsi
  Si aValor%8 >= 4      // Valor Entre 8y4 = Tercer bit menos significativo encendido
    lDias = lDias & lGuion & 'Mi'
    lGuion = '-'
  Finsi
  Si aValor%16 >= 8     // Valor Entre 16y8 = Cuarto bit menos significativo encendido
    lDias = lDias & lGuion & 'J'
    lGuion = '-'
  Finsi
  Si aValor%32 >= 16
    lDias = lDias & lGuion & 'V'
    lGuion = '-'
  Finsi  
  Si aValor%64 >= 32
    lDias = lDias & lGuion & 'S'
    lGuion = '-'
  Finsi  
  Si aValor%128>= 64
    lDias = lDias & lGuion & 'D'
    lGuion = '-'
  Finsi  

  Retorna lDias
FinFunc





//////////////////////////////////////////////////////////////////////////////////
//ENCABEZADO 
  Encab



    Texto '@TC{255,0,0}@S{8}AdminPAQ' 
 	 Hoja '"@TC{0,0,0}@S{8}Página: '
    Imprime

    Texto '^@TC{0,0,0}@S{22}' & tEmpresa->Nombre
    Texto '"@TC{0,0,0}@S{8}Fecha: ' & fEditaFecha(@Hoy())
    Imprime
    Si pTipoReporte = 1
      Texto '^@TC{0,0,0}@S{16}' & ' Catálogo de Clientes Ordenado por Código'
    Sino
      Si pTipoReporte = 2
        Texto '^@TC{0,0,0}@S{16}' & ' Directorio de Clientes Ordenado por Código'
      Sino
        Si pTipoReporte = 3
          Texto '^@TC{0,0,0}@S{16}' & ' Catálogo de Clientes Ordenado por Nombre'
        Sino
          Texto '^@TC{0,0,0}@S{16}' & ' Directorio de Clientes Ordenado por Nombre'
        Finsi

      Finsi
    Finsi


    Texto '"@TC{0,0,0}@S{8}Hora: ' & @Hora()
    Imprime

    // ===== Se Revisan las clasificaciones, para recuperarlas e imprimirlas en el encabezado
    fRevisaClases(tClasificaciones)
    // ===== Fin de la revision de clasificaciones

   
    

    NEGRITAS TRUE
    Altura 10
    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 

  Si pTipoReporte = 1 o pTipoReporte = 3
  
    //Código         Nombre(Cliente)                       RFC             Descuento  Lista Precios  Moneda                
    Columnas 20;2.25,0.15,6,0.15,2.55,0.15,1.8,0.15,2.4,0.15,2.85,0.15,0
    Texto ''
    Texto C0;'Código'
    Texto C2;'Nombre (Cliente)'
    Texto c4;'RFC' 
    Texto c6;'Descuento' 
    Texto c8;'Lista Precios'
    Texto c10;'Moneda'
    Imprime   

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 
   Si @pos(@col(pInformacion;0);'1') != -1     
    //               Representante Legal                   CURP                       Denominación Comercial           
    Columnas 20;2.4,0.15,5.85,0.15,4.5,0.15,5.4,0.15,0
    Texto ''
    Texto C2;'Representante Legal'
    Texto c4;'CURP' 
    Texto c6;'Denominación Comercial' 
    Imprime   

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 
   Finsi
   Si @pos(@col(pInformacion;0);'2') != -1     
    //                 C R E D I T O         PRONTO PAGO         
    Columnas 20;2.7,0.15,3,0.15,3.45,0.15,0
    Texto ''
    Texto C2;'C R E D I T O'
    Texto c4;'PRONTO PAGO' 
    Imprime   

    //               Límite        Días     Descuento Días Días Pago                  Días Revisión  Interes Moratorio 
    Columnas 20;2.4,0.15,1.5,0.15,1.65,0.15,1.5,0.15,0.75,0.15,4.5,0.15,2.4,0.15,2.85,0.15,0
    Texto ''
    Texto C2;'Límite'
    Texto c4;'Días' 
    Texto c6;'Descuento' 
    Texto c8;'Días' 
    Texto c10;'Días Pago'
    Texto c12;'Días Revisión'
    Texto c14;'Interes Moratorio'
    Imprime   

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 

   Finsi
   Si @pos(@col(pInformacion;0);'3') != -1     

    //               Mensajería      Número de Cuenta      Días de Embarque           Almacén de Consignación          
    Columnas 20;2.4,0.15,2.55,0.15,3.15,0.15,4.5,0.15,5.4,0.15,0
    Texto ''
    Texto C2;'Mensajería'
    Texto c4;'Número de Cuenta'      
    Texto c6;'Días de Embarque' 
    Texto c8;'Almacén de Consignación'
    Imprime   

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 
   Finsi
   Si @pos(@col(pInformacion;0);'4') != -1     
 
//               Impuesto 1  Impuesto 2  Impuesto 3    Retención 1  Retención 2   Agente de Venta  Agente de Cobro
    Columnas 20;2.4,0.15,1.8,0.15,1.8,0.15,1.95 ,0.15,2.1,0.15,2.25,0.15,2.7,0.3,2.4,0.15,0
    Texto ''
    Texto C2;'Impuesto 1'
    Texto c4;'Impuesto 2'      
    Texto c6;'Impuesto 3' 
    Texto c8;'Retención 1'
    Texto c10;'Retención 2'
    Texto c12;'Agente de Venta'
    Texto c14;'Agente de Cobro'
    Imprime   

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 
   Finsi


  Finsi
  Si pTipoReporte = 2 o pTipoReporte = 4



    //Código         Nombre (Cliente)                      Teléfono 1   Teléfono 2  Correo Electrónico   
    Columnas 20;2.25,0.15,6,0.15,2.1,0.15,2.1,0.15,3.3,0.15,2.85,0
    Texto ''
    Texto C0;'Código'
    Texto C2;'Nombre (Cliente)'
    Texto c4;'Teléfono 1'      
    Texto c6;'Teléfono 2' 
    Texto c8;'E-MAIL'
    Imprime   

   Si @pos(@col(pInformacion;0);'1') != -1     
    //                                                     Teléfono 2   Teléfono 3  WEB
    Columnas 20;8.4,0.15,2.1,0.15,2.1,0.15,6.15,0.15,0
    Texto ''
    Texto c2;'Teléfono 3'      
    Texto c4;'Teléfono 4' 
    Texto c6;'WEB'
    Imprime   
//!   Finsi
//!Si @pos(@col(pInformacion;0);'2') != -1     

    //               Calle                    Núm.Ext Núm.Int Colonia                   C.P.  Ciudad     Estado     País					  
    Columnas 20;2.4,0.15,3.9,0.15,1.35,0.15,1.35,0.15,3,0.15,0.75,0.15,1.8,0.15,1.8,0.15,1.65,0.15,0               
    Texto ''
    Texto C2;'Calle'
    Texto c4;'Núm.Ext'      
    Texto c6;'Núm.Int' 
    Texto c8;'Colonia'
    Texto c10;'C.P.'
    Texto c12;'Ciudad'
    Texto c14;'Estado'
    Texto c16;'País'
    Imprime   
   Finsi

    Texto '@TC{0,0,0}@L{-1}'
	 Imprime 

   Finsi
   NEGRITAS FALSE
   Altura 10
  FinEncab

//PRINCIPAL <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  gRenglon = '' 
  si pClienteInicial = ' '
    tClientes.Busca primero
  sino
    tClientes.Busca [@str(pClienteInicial;0) & ':']
  finsi


  Si pTipoReporte = 3 o pTipoReporte = 4
    tClientes.Usaindice['iRazonTipo']
    tClientes.Busca primero
  Finsi



 Mientras tClientes->Encontro
   si pClienteFinal != ' '
     Si tClientes(cCodigoCliente)> @str(pClienteFinal;0)
       tClientes.Saltareg[1]
       Continua
     Finsi
   finsi
   si pClienteInicial != ' '
     Si tClientes(cCodigoCliente)< @str(pClienteInicial;0)
       tClientes.Saltareg[1]
       Continua
     Finsi 
   Finsi 

   Si tClientes(cIdClienteProveedor)= 0
     tClientes.Saltareg[1]
     Continua
   Finsi
   Si tClientes(cTipoCliente)= 3
     tClientes.Saltareg[1]
     Continua
   Finsi

   Si pEstadoCliente = 1  //	0 = Todos     1 = Clientes Activos     2 = Clientes Inactivos
     Si tClientes(cEstatus)!= 1
       tClientes.Saltareg[1]
       Continua
     Finsi
   Finsi
   Si pEstadoCliente = 2  //	0 = Todos     1 = Clientes Activos     2 = Clientes Inactivos
     Si tClientes(cEstatus)!= 0
       tClientes.Saltareg[1]
       Continua
     Finsi
   Finsi



  // Se Revisan las CLASIFICACIONES, solo en el caso de haber seleccionado al menos una 
  Si gNumDeClases > 0
    lQueTipo = 0
    Si !fMiembroDeUnaClase( tClientes   ;gNumDeClases;gListIdDeClases;lQueTipo)
       // Sa salta el cliente actual, por no pertenecer a alguna de las clasificaciones
       tClientes.Saltareg[1]
       Continua
    Finsi
  Finsi

 hayregistro= 0

 Si pTipoReporte = 1 o pTipoReporte = 3
 
   //codigo
   Columnas 20;2.25,0.15,6,0.15,2.55,0.15,1.8,0.15,2.4,0.15,2.85,0.15,0
   gRenglon = fMascarilla(tClientes(cCodigoCliente);tParametros(cMascarillaClientes))[c0]
   gRenglon = tClientes(cRazonSocial)[c2]
   gRenglon = fMascarilla(tClientes(cRFC);tParametros(cMascarillaRFC))[c4]

   gRenglon = '^'& @str(tClientes(cDescuentoMovto);2) & ' %'[c6]
   // Inicia N.D.0954
   Si tClientes(cListaPrecioCliente) > 0
     Escoge tClientes(cListaPrecioCliente)
       caso 1
         gRenglon = tParametros(cNombreLista1)[c8]
         gMoneda = tParametros(cidMonedaLista1)
       Fincaso
       caso 2
         gRenglon = tParametros(cNombreLista2)[c8]
         gMoneda = tParametros(cidMonedaLista2)
       Fincaso
       caso 3
         gRenglon = tParametros(cNombreLista3)[c8]
         gMoneda = tParametros(cidMonedaLista3)
       Fincaso
       caso 4
         gRenglon = tParametros(cNombreLista4)[c8]
         gMoneda = tParametros(cidMonedaLista4)
       Fincaso
       caso 5
         gRenglon = tParametros(cNombreLista5)[c8]
         gMoneda = tParametros(cidMonedaLista5)
       Fincaso
       caso 6
         gRenglon = tParametros(cNombreLista6)[c8]
         gMoneda = tParametros(cidMonedaLista6)
       Fincaso
       caso 7
         gRenglon = tParametros(cNombreLista7)[c8]
         gMoneda = tParametros(cidMonedaLista7)
       Fincaso
       caso 8
         gRenglon = tParametros(cNombreLista8)[c8]
         gMoneda = tParametros(cidMonedaLista8)
       Fincaso
       caso 9
         gRenglon = tParametros(cNombreLista9)[c8]
         gMoneda = tParametros(cidMonedaLista9)
       Fincaso
       caso 10
         gRenglon = tParametros(cNombreLista10)[c8]
         gMoneda = tParametros(cidMonedaLista10)
       Fincaso
     FinEscoge
   FinSi
   // Fin N.D.0954
  //tMonedas.Busca[@Str(@col(gMoneda;0);0)]
  tMonedas.Busca[@Str(tClientes(cIdMoneda);0)]
  Si tMonedas->encontro
    gRenglon = tMonedas(cNombreMoneda)[c10]
  Finsi
  imprime  gRenglon 
  // N.D.3168 Inicio
  // Impresión de la moneda auxiliar
  gRenglon = ''
  Si tClientes(cIdMoneda) != tClientes(cIdMoneda2)
    tMonedas.Busca[@Str(tClientes(cIdMoneda2);0)]
    Si tMonedas->encontro
      gRenglon = tMonedas(cNombreMoneda)[c10]
    Finsi
    imprime  gRenglon 
  FinSi
  // N.D.3168 Fin
  gRenglon = ''

 Si @pos(@col(pInformacion;0);'1') != -1     

  //               Representante Legal                   CURP                       Denominación Comercial           
  Columnas 20;2.4,0.15,5.85,0.15,4.5,0.15,5.4,0.15,0
  gRenglon = tClientes(cRepLegal)[c2]
  gRenglon = fMascarilla(tClientes(cCURP);tParametros(cMascarillaCURP))[c4]
  gRenglon = tClientes(cDenComercial)[c6]
  imprime  gRenglon 
  gRenglon = ''
  hayregistro =1
 Finsi

 Si @pos(@col(pInformacion;0);'2') != -1     
 
  //               Límite        Días     Descuento Días Días Pago                  Días Revisión  Interes Moratorio 
  Columnas 20;2.4,0.15,1.5,0.15,1.65,0.15,1.5,0.15,0.75,0.15,4.5,0.15,2.4,0.15,2.85,0.15,0
  gRenglon = tClientes(cLimiteCreditoCliente)[c2]
  gRenglon = tClientes(cDiasCreditoCliente)[c4]
  gRenglon = tClientes(cDescuentoProntoPago)[c6]
  gRenglon = tClientes(cDiasProntoPago)[c8]
  gRenglon = fMascaraDias(tClientes(cDiaPago))[c10]
  gRenglon = fMascaraDias(tClientes(cDiasRevision))[c12]
  gRenglon = '^'& @str(tClientes(cInteresMoratorio);2) & ' %'[c14]
  imprime  gRenglon 
  gRenglon = ''
  hayregistro =1
 Finsi

 Si @pos(@col(pInformacion;0);'3') != -1     

  //               Mensajería      Número de Cuenta      Días de Embarque           Almacén de Consignación          
  Columnas 20;2.4,0.15,2.55,0.15,3.15,0.15,4.5,0.15,5.4,0.15,0

  gRenglon = tClientes(cMensajeria)[c2]
  gRenglon = tClientes(cCuentaMensajeria)[c4]
  gRenglon = fMascaraDias(tClientes(cDiasEmbarqueCliente))[c6]
  tAlmacenes.Busca[@Str(tClientes(cIdAlmacen);0)]
  Si tAlmacenes->encontro
    gRenglon = tAlmacenes(cNombreAlmacen)[c8]
  Finsi
  imprime  gRenglon 
  gRenglon = ''
  hayregistro =1
 Finsi

 Si @pos(@col(pInformacion;0);'4') != -1     

  //               Impuesto 1  Impuesto 2  Impuesto 3    Retención 1  Retención 2   Agente de Venta  Agente de Cobro
  Columnas 20;2.4,0.15,1.8,0.15,1.8,0.15,1.95 ,0.15,2.1,0.15,2.25,0.15,2.7,0.3,2.4,0.15,0

  gRenglon = '^'& @str(tClientes(cImpuesto1);2) & ' %'[c2]
  gRenglon = '^'& @str(tClientes(cImpuesto2);2) & ' %'[c4]
  gRenglon = '^'& @str(tClientes(cImpuesto3);2) & ' %'[c6]
  gRenglon = '^'& @str(tClientes(cRetencionCliente1);2) & ' %'[c8]
  gRenglon = '^'& @str(tClientes(cRetencionCliente2);2) & ' %'[c10]
  tAgentes.busca[@Str(tClientes(cIdAgenteVenta);0)]
  Si tAgentes->encontro
    gRenglon =  tAgentes(cNombreAgente)[c12]
  Finsi
  tAgentes.busca[@Str(tClientes(cIdAgenteCobro);0)]
  Si tAgentes->encontro
    gRenglon =  tAgentes(cNombreAgente)[c14]
  Finsi
  imprime  gRenglon 
  gRenglon = ''
  hayregistro =1
 Finsi


  si hayregistro = 1
    texto ' '
    imprime  
  finsi

 Finsi //1
 Si pTipoReporte =2 o pTipoReporte = 4

   //Código         Nombre (Cliente)                      Teléfono 1   Teléfono 2  Correo Electrónico   
    Columnas 20;2.25,0.15,6,0.15,2.1,0.15,2.1,0.15,3.3,0.15,2.85,0

   gRenglon = fMascarilla(tClientes(cCodigoCliente);tParametros(cMascarillaClientes))[c0]
   gRenglon = tClientes(cRazonSocial)[c2]

   tDirecciones.busca[@str(tClientes(cidClienteProveedor);0)&':1:0']
   Si tDirecciones->encontro
     gRenglon = @str(tDirecciones(cTelefono1);0)[c4]
     gRenglon = @str(tDirecciones(cTelefono2);0)[c6]


      vcont = 0[c0]
      vtemporal = @str(tDirecciones(cEmail);0)[c0]
      vtemporal2 = ''
      Mientras @col(vcont;0) < @len(@str(@col(vtemporal;0);0))
        Si  @substr(@col(vtemporal;0);@col(vcont;0);1) = '@'
          vtemporal2 = @col(vtemporal2;0) & ''
        Sino
          vtemporal2 = @col(vtemporal2;0) & @substr(@col(vtemporal;0);@col(vcont;0);1)
        Finsi
        vcont=@col(vcont;0) +1[c0]
      Finmientras
      gRenglon =  @col(vtemporal2;0)[c8]
      Imprime 


     imprime  gRenglon 
     gRenglon = ''

    Si @pos(@col(pInformacion;0);'1') != -1     

     //!                                                     Teléfono 2   Teléfono 3  WEB
     Columnas 20;8.4,0.15,2.1,0.15,2.1,0.15,6.15,0.15,0
     gRenglon = @str(tDirecciones(cTelefono3);0)[c2]
     gRenglon = @str(tDirecciones(cTelefono4);0)[c4]
     gRenglon = 'WEB:'& tDirecciones(cDireccionWeb)[c6]
     imprime  gRenglon
     gRenglon = ''
     hayregistro =1
//! Finsi
//! Si @pos(@col(pInformacion;0);'2') != -1     
     //               Calle                    Núm.Ext Núm.Int Colonia                   C.P.  Ciudad     Estado     País					  
     Columnas 20;2.4,0.15,3.9,0.15,1.35,0.15,1.35,0.15,3,0.15,0.75,0.15,1.8,0.15,1.8,0.15,1.65,0.15,0               

     gRenglon = tDirecciones(cNombreCalle)[c2]
     gRenglon = tDirecciones(cNumeroExterior)[c4]
     gRenglon = tDirecciones(cNumeroInterior)[c6]
     gRenglon = tDirecciones(cColonia)[c8]
     gRenglon = tDirecciones(cCodigoPostal)[c10]
     gRenglon = tDirecciones(cCiudad)[c12]
     gRenglon = tDirecciones(cEstado)[c14]
     gRenglon = tDirecciones(cPais)[c16]
     imprime  gRenglon 
     gRenglon = ''
     hayregistro =1
    Finsi


   Finsi

  si hayregistro = 1 
    texto ' '
    imprime  
  finsi


 Finsi //2

  tClientes.Saltareg[1]
 FinMientras 
