;* ExpBord *********************************************************************
;* Layout p/ exporta‡Æo de Cheques                                             *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 21/01/2013 por Bruno Carvalho
;Ultima Alteracao: 06/02/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes               
;Ultima Alteracao: 21/02/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes  
;Ultima Alteracao: 22/03/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes + relatorio  
;Ultima Alteracao: 10/04/2013 por Kamila Gomes
;Motivo Alteracao: Ajustes variavel Convenio  
;Ultima Alteracao: 31/05/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes NUMERO SEQUENCIAL DO ARQUIVO = NREMESSA
;Ultima Alteracao: 18/06/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 04/09/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ regularizar o layout conforme modelo enviado por email em 03/09/2013   
;Ultima Alteracao: 05/09/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes 

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG0()
Private LINHA

Contador0=0
Contador1=0
Contador3=0
Contador5=0
Contador9=0

Gerou_Arquivos=False

; **** Coletando dados da empresa **********************************************
View "\\Sistemas\\Cadastro\\Empresas"
View "\\Sistemas\\CtaCor\\Conta"
View "BordChC"
Moveto [Numero do Lote]
Locate LOTE
If Not RetVal
   Then Mensagem("Lote: "+LOTE+", nÆo localizado !//Verificar !")
        Return
EndIf   

Moveto "\\Sistemas\\Cadastro\\Empresas"
Moveto [Codigo da Empresa]
Locate [BordChC->Codigo da Empresa] 
If Not RetVal 
   Then Mensagem("Empresa: "+[BordChC->Codigo da Empresa]+", nÆo cadastrada !//Verificar !")
        Return
EndIf
            
EMPR_NOME  =[\Sistemas\Cadastro\Empresas->Razao Social Empresa]
EMPR_RUA   =[\Sistemas\Cadastro\Empresas->Endereco Empresa    ]
EMPR_NUMERO=""     
EMPR_COMPL =""
EMPR_CIDADE=[\Sistemas\Cadastro\Empresas->Cidade Empresa      ]
EMPR_UF    =[\Sistemas\Cadastro\Empresas->UF Empresa          ]
EMPR_CEP   =[\Sistemas\Cadastro\Empresas->Cep Empresa         ]
PosIni=SearchFrom("-",EMPR_CEP,1)      
If PosIni > 0                          
  Then EMPR_CEP_NUME = SubStr(EMPR_CEP,1,2)+SubStr(EMPR_CEP,4,3)
       EMPR_CEP_COMP = SubStr(EMPR_CEP,8,3)
  Else EMPR_CEP_NUME = "00000"
       EMPR_CEP_COMP = "000"
EndIf
Switch
 Case SubStr([\Sistemas\Cadastro\Empresas->CGC Empresa],3,1)="." : TP_EMPR_CGC="2"
 OtherWise                                                       : TP_EMPR_CGC="1"  
EndSwitch
EMPR_CGC=AlinhM(MONTA_STRING([\Sistemas\Cadastro\Empresas->CGC Empresa],"N"),14)

posl=SearchFrom(",",[\Sistemas\Cadastro\Empresas->Endereco Empresa],1)
If posl>=2
  Then EMPR_RUA = LTrim(RTrim(SubStr([\Sistemas\Cadastro\Empresas->Endereco Empresa],1,posl-1)))

       posn=SearchFrom(",",[\Sistemas\Cadastro\Empresas->Endereco Empresa],posl+1)
       If posn>1
          Then EMPR_RUA         = LTrim(RTrim(SubStr([\Sistemas\Cadastro\Empresas->Endereco Empresa],posl+1,(posn-posl)-1)))
               EMPR_COMPLEMENTO = LTrim(RTrim(SubStr([\Sistemas\Cadastro\Empresas->Endereco Empresa],posn+1,40)))
          Else EMPR_NUMERO      = LTrim(RTrim(SubStr([\Sistemas\Cadastro\Empresas->Endereco Empresa],posl+1,40)))     
       EndIf
EndIf           

;*** Implementado em 04.09.2013 - Regularizar Layout do Banco ****
If EMPR_NUMERO<>""
   Then EMPR_NUMERO = AlinhM(StrVal(NumVal(EMPR_NUMERO)),5)
EndIf

If EMPR_RUA<>""   ;**** Impementa‡Æo para Empresa 0326 ****
   Then PosI = Search("VER.PEDRO",Upper(EMPR_RUA))
        If PosI>0       
           Then EMPR_RUA = SubStr(EMPR_RUA,1,PosI-1)+"VEREADOR PEDRO"+SubStr(EMPR_RUA,PosI+9,Len(EMPR_RUA))
        EndIf
        Release Vars PosI
EndIf           

; **** Codigo Convˆnio no Banco ************************************************ 
;Switch
;  Case SYS_CODIGO_CLIENTE="0326" And [BordChC->Codigo da Conta Trf]="0003": CONVENIO="677386765"
;  Case SYS_CODIGO_CLIENTE="0326" And [BordChC->Codigo da Conta Trf]="0004": CONVENIO="593464044"
;  OtherWise                                                               : CONVENIO="999999999" 
;EndSwitch

; **** Numero/Agˆncia Conta Corrente *******************************************

Moveto "\\Sistemas\\CtaCor\\Conta"                                              ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< No Cadastro das Conas, ‚ necessario ter a cc ?
Moveto [Codigo da Conta]
Locate [BordChC->Codigo da Conta Trf]
If Not RetVal
   Then Mensagem("Conta: "+[BordChC->Codigo da Conta Trf]+", nÆo cadastrada !//Verificar !")
        Return
EndIf   
BANCO_NUMERO=SubStr(AlinhM([Numero do Banco],4),2,3)
BANCO_NOME  =[Nome do Banco]

;*** Implementado em 04.09.2013 - Regularizar Layout do Banco ****
If Search("BRASIL",Upper(BANCO_NOME))>0
   Then BANCO_NOME = "BANCO DO BRASIL S/A"
EndIf    

BANCO_CC    =[Numero da Conta]
PosIni=SearchFrom("-",BANCO_CC,1)
If PosIni>0 
   Then BANCO_CC_NUMERO=AlinhM(SubStr([Numero da Conta],1,PosIni-1),12)
        BANCO_CC_DIGITO=SubStr([Numero da Conta],PosIni+1,Len([Numero da Conta]))
   Else BANCO_CC_NUMERO="999999999999"
        BANCO_CC_DIGITO="9" 
EndIf   
BANCO_AG   = [Numero da Agencia]
CONVENIO   = AlinhM(Tira_CharNum([Convenio]),9)

PosIni=SearchFrom("-",BANCO_AG,1)
If PosIni>0
   Then BANCO_AG_NUMERO=AlinhM(SubStr([Numero da Agencia],1,PosIni-1),5)
        BANCO_AG_DIGITO=SubStr([Numero da Agencia],PosIni+1,Len([Numero da Agencia]))
   Else BANCO_AG_NUMERO="99999"
        BANCO_AG_DIGITO="9"
EndIf

If BANCO_AG_NUMERO="99999" Or BANCO_CC_NUMERO="999999999999"
   Then Mensagem("Conta: "+[BordChC->Codigo da Conta Trf]+", CC ou Agˆncia inv lido !//Verificar !")
EndIf

Gerou_Arquivos = True

;**** Data alterada para DDMMAA (Antes da Altera‡Æo: AAAAMMDD) ****
DATA_LOTE=AlinhM(LTrim(Format("D13",[BordChC->Data do Lote])),10)
DATA_LOTE=SubStr(DATA_LOTE,1,2)+SubStr(DATA_LOTE,4,2)+SubStr(DATA_LOTE,7,4)

Contador0 = Contador0 + 1           

LINHA = "001"
LINHA = LINHA + "0000"
LINHA = LINHA + "0"
LINHA = LINHA + Spaces(9)
LINHA = LINHA + TP_EMPR_CGC
LINHA = LINHA + EMPR_CGC
LINHA = LINHA + CONVENIO
LINHA = LINHA + Spaces(11)
LINHA = LINHA + BANCO_AG_NUMERO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< AGENCIA
LINHA = LINHA + BANCO_AG_DIGITO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< DIGITO AGENCIA
LINHA = LINHA + BANCO_CC_NUMERO
LINHA = LINHA + BANCO_CC_DIGITO
LINHA = LINHA + Spaces(1)                                      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< Outro Digito ??? 
LINHA = LINHA + Completa(Format("W30,AL",EMPR_NOME),30," ")                    
LINHA = LINHA + Completa(Format("W30,AL",BANCO_NOME),30," ")
LINHA = LINHA + Spaces(10)
LINHA = LINHA + "1"
LINHA = LINHA + Completa(DIA,8," ")
LINHA = LINHA + Completa(HORA,6," ")
LINHA = LINHA + NREMESSA
LINHA = LINHA + "030"
LINHA = LINHA + "00000"                                         ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< Numerico (BPI)
LINHA = LINHA + Spaces(20)                                      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< USO RESERVADO DO BANCO
LINHA = LINHA + Spaces(20)                                      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< USO RESERVADO DA EMPRESA
LINHA = LINHA + Spaces(19)
LINHA = LINHA + Spaces(2)                                                   
LINHA = LINHA + Spaces(8)                                         
LINHA=LINHA+"\n"

FileWrite ARQ From LINHA 
EndProc ;GERA_REG0()   

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG1()
Private LINHA

Contador1=Contador1+1

LINHA = "001"
LINHA = LINHA + "0001"
LINHA = LINHA + "1"
LINHA = LINHA + "R"
LINHA = LINHA + "07"
LINHA = LINHA + "01"
LINHA = LINHA + "020"
LINHA = LINHA + Spaces(1)
LINHA = LINHA + TP_EMPR_CGC
LINHA = LINHA + EMPR_CGC
LINHA = LINHA + CONVENIO
LINHA = LINHA + Spaces(11)
LINHA = LINHA + BANCO_AG_NUMERO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< AGENCIA DE ENTREGA CHEQUE
LINHA = LINHA + BANCO_AG_DIGITO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< DIGITO AGENCIA DE ENTREGA CHEQUE
LINHA = LINHA + NREMESSA                 
LINHA = LINHA + BANCO_AG_NUMERO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< AGENCIA
LINHA = LINHA + BANCO_AG_DIGITO                                ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< DIGITO AGENCIA
LINHA = LINHA + BANCO_CC_NUMERO
LINHA = LINHA + BANCO_CC_DIGITO
LINHA = LINHA + Spaces(1)                                      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<< Outro Digito ??? 
LINHA = LINHA + Completa(Format("W30,AL",EMPR_NOME),30," ")                    
LINHA = LINHA + DATA_LOTE
LINHA = LINHA + Spaces(6)                                      ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<  Retorno de Remessa
LINHA = LINHA + Spaces(10)                                     ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<  Retorno de Remessa
LINHA = LINHA + Spaces(4)
LINHA = LINHA + Completa(Format("W30,AL",EMPR_RUA),30," ")   
LINHA = LINHA + Completa(Format("W5,AL",EMPR_NUMERO),5," ")
LINHA = LINHA + Completa(Format("W15,AL",EMPR_COMPL),15," ")
LINHA = LINHA + Completa(Format("W20,AL",EMPR_CIDADE),20," ")
LINHA = LINHA + Completa(Format("W5,AL",EMPR_CEP_NUME),5," ")
LINHA = LINHA + Completa(Format("W3,AL",EMPR_CEP_COMP),3," ")
LINHA = LINHA + EMPR_UF
LINHA = LINHA + Spaces(8)
LINHA = LINHA + Spaces(2)                                                   
LINHA = LINHA + Spaces(8) 
LINHA=LINHA+"\n"
FileWrite Append ARQ From LINHA 
EndProc ;GERA_REG1()   

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG_CMC7()
Private LINHA

Valor3   =0
Cont_Ch3 =0
Total_J3 =0
Total_D3 =0
Total_E3 =0

View "BordChI"
Moveto [Numero do Lote]
Locate LOTE
If RetVal
   Then While [Numero do Lote]=LOTE 
          If [Codigo CMC7]<>"" Then
             Dados_Cheque=[Codigo CMC7]
             Dados_Cheque="<"+SubStr(Dados_Cheque,02,08)+
                          "<"+SubStr(Dados_Cheque,11,10)+
                          ">"+SubStr(Dados_Cheque,22,12)+
                          ":" 
   
              Contador3 = Contador3+1
            
              DESC_JUROS    =0
              DESC_IOF      =0
              ENCARGOS      =0
              
              ;**** Data alterada para DDMMAA (Antes da Altera‡Æo: AAAAMMDD) ****
              DATA_VENCTO=AlinhM(LTrim(Format("D13",[Data Vencimento])),10) 
              DATA_VENCTO=SubStr(DATA_VENCTO,1,2)+SubStr(DATA_VENCTO,4,2)+SubStr(DATA_VENCTO,7,4)
            
              LINHA = "001"
              LINHA = LINHA + "0001"
              LINHA = LINHA + "3"
              LINHA = LINHA + AlinhM(StrVal(Contador3),5)                 ;<<<<<<<<<<<<<<<<<< Considerar tamb‚m registros do segmento "O"
              LINHA = LINHA + "N"
              LINHA = LINHA + "0"
              LINHA = LINHA + "02"
              LINHA = LINHA + Completa(Format("W34,AL",Dados_Cheque),34," ") 
              LINHA = LINHA + Completa(MONTA_STRING([CPF],"N"),14," ")
              LINHA = LINHA + Valor_Str([Valor],15,2)
              LINHA = LINHA + Completa(DATA_VENCTO,8," ")
              LINHA = LINHA + Spaces(10)                                  ;<<<<<<<<<<<<<<<<<< Somente no Remessa
              LINHA = LINHA + Spaces(10)
              LINHA = LINHA + "000"
              LINHA = LINHA + "001"
              LINHA = LINHA + BANCO_AG_NUMERO
              LINHA = LINHA + BANCO_AG_NUMERO
              LINHA = LINHA + BANCO_CC_NUMERO
              LINHA = LINHA + Valor_Str(DESC_JUROS,15,2)
              LINHA = LINHA + Valor_Str(DESC_IOF,15,2)
              LINHA = LINHA + Valor_Str(ENCARGOS,15,2)
              LINHA = LINHA + Spaces(49) 
              LINHA = LINHA + Spaces(2)                                                   
              LINHA = LINHA + Spaces(8) 
              LINHA=LINHA+"\n"
              FileWrite Append ARQ From LINHA 
              
              Valor3   = Valor3   + [Valor]
              Cont_Ch3 = Cont_Ch3 + 1 
              Total_J3 = Total_J3 + DESC_IOF
              Total_D3 = Total_D3 + DESC_JUROS  
              Total_E3 = Total_E3 + ENCARGOS

          EndIf
          
          Skip
          If EOT() Then QuitLoop EndIf 
        EndWhile
EndIf   

EndProc ;GERA_REG_CMC7()  

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG_SEG()
Private LINHA
                          
Valor4    =0
Cont_Ch4  =0
Total_J4 = 0
Total_D4 = 0  
Total_E4 = 0

View "BordChI"
Moveto [Numero do Lote]
Locate LOTE
If RetVal
   Then While [Numero do Lote]=LOTE 
          If [Codigo CMC7]="" Then
   
              Contador3 = Contador3+1
              
              COD_COMPENSACAO = "000"
              CH_BANCO_NUMERO=SubStr(AlinhM([Codigo_Banco],4),2,3)
              
              PosIni=SearchFrom("-",[Agencia],1)
              If PosIni>0
                 Then CH_AG_NUMERO=AlinhM(SubStr([Agencia],1,PosIni-1),5)
                 Else CH_AG_NUMERO=AlinhM([Agencia],5)
              EndIf
              CAMPO_C1 = "0"     
                                                                                ;Campo C1 da Linha 1 do cheque
              PosIni=SearchFrom("-",[Numero_Conta],1)
              If PosIni>0
                 Then CH_CC_NUMERO=AlinhM(SubStr([Numero_Conta],1,PosIni-1),12)
                 Else CH_CC_NUMERO=AlinhM([Numero_Conta],12)
              EndIf
              CAMPO_C2 = "0"                                                   ;Campo C2 da Linha 1 do cheque
            
              NUM_CH=SubStr(AlinhM([Numero_Cheque],10),5,6)
              CAMPO_C3 = "0"                                                   ;Campo C3 da Linha 1 do cheque
              
              DESC_JUROS    =0
              DESC_IOF      =0
              ENCARGOS      =0
               
              ;**** Data alterada para DDMMAA (Antes da Altera‡Æo: AAAAMMDD) ****
              DATA_VENCTO=AlinhM(LTrim(Format("D13",[Data Vencimento])),10) 
              DATA_VENCTO=SubStr(DATA_VENCTO,1,2)+SubStr(DATA_VENCTO,4,2)+SubStr(DATA_VENCTO,7,4)
              
              LINHA = "001"
              LINHA = LINHA + "0001"
              LINHA = LINHA + "3"
              LINHA = LINHA + AlinhM(StrVal(Contador3),5)                       ;<<<<<<<<<<<<<<<<<< Considerar tamb‚m registros do segmento "O"
              LINHA = LINHA + "O"
              LINHA = LINHA + "0"
              LINHA = LINHA + "02"
              LINHA = LINHA + COD_COMPENSACAO
              LINHA = LINHA + CH_BANCO_NUMERO
              LINHA = LINHA + CH_AG_NUMERO   
              LINHA = LINHA + CAMPO_C1
              LINHA = LINHA + CH_CC_NUMERO
              LINHA = LINHA + CAMPO_C2
              LINHA = LINHA + NUM_CH
              LINHA = LINHA + CAMPO_C3
              LINHA = LINHA + Spaces(2)
              LINHA = LINHA + AlinhM(MONTA_STRING([CPF],"N"),14)
              LINHA = LINHA + Valor_Str([Valor],15,2)
              LINHA = LINHA + Completa(DATA_VENCTO,8," ")
              LINHA = LINHA + Spaces(10)                                        ;<<<<<<<<<<<<<<<<<< Somente no Remessa
              LINHA = LINHA + Spaces(10)
              LINHA = LINHA + "000"
              LINHA = LINHA + "001"
              LINHA = LINHA + BANCO_AG_NUMERO
              LINHA = LINHA + BANCO_AG_NUMERO
              LINHA = LINHA + BANCO_CC_NUMERO
              LINHA = LINHA + Valor_Str(DESC_JUROS,15,2)
              LINHA = LINHA + Valor_Str(DESC_IOF,15,2)
              LINHA = LINHA + Valor_Str(ENCARGOS,15,2)
              LINHA = LINHA + Spaces(49) 
              LINHA = LINHA + Spaces(2)                                                   
              LINHA = LINHA + Spaces(8) 
              LINHA=LINHA+"\n"    
              FileWrite Append ARQ From LINHA 

              Valor4   = Valor4 + [Valor]
              Cont_Ch4 = Cont_Ch3 + 1  
              Total_J4 = Total_J3 + DESC_IOF
              Total_D4 = Total_D3 + DESC_JUROS  
              Total_E4 = Total_E3 + ENCARGOS 
          EndIf
          
          Skip
          If EOT() Then QuitLoop EndIf 
        EndWhile
EndIf   

EndProc ;GERA_REG_SEG()

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG5()
Private LINHA                              
                           
contador5=contador5+1

REGISTRO = Contador1 + Contador3 + Contador5
TOTAL_VR = Valor3 + Valor4 
TOTAL_CH = Cont_Ch3 + Cont_Ch4
Total_JUR  = Total_J3 + Total_J4
Total_DESC = Total_D3 + Total_D4  
Total_ENC  = Total_E3 + Total_E4 

QTD_CH_PROC   = 0                                                  ;<<<<<<<<<<<<<<<<<< Quantidade de Cheque Processado
TOTAL_CH_PROC = 0                                                  ;<<<<<<<<<<<<<<<<<< Total Cheque Processado
   
LINHA = "001"
LINHA = LINHA + "0001"
LINHA = LINHA + "5"
LINHA = LINHA + Spaces(9)
LINHA = LINHA + AlinhM(StrVal(REGISTRO),6)                         ;<<<<<<<<<<<<<<<<<< Considerar tamb‚m registros do segmento "O"
LINHA = LINHA + Valor_Str(TOTAL_VR,18,2)
LINHA = LINHA + AlinhM(StrVal(TOTAL_CH),6)
LINHA = LINHA + Spaces(52)
LINHA = LINHA + Spaces(18)
LINHA = LINHA + Spaces(18)
LINHA = LINHA + Spaces(18)
LINHA = LINHA + Spaces(06)
LINHA = LINHA + Spaces(18)
LINHA = LINHA + Spaces(63)
LINHA=LINHA+"\n"    
FileWrite Append ARQ From LINHA 

EndProc ;GERA_REG5()

;*******************************************************************************
;* Rotina p/ Gerar Arquivo                                                     *
;*******************************************************************************
Proc GERA_REG9()
Private LINHA                              

contador9=contador9+1

LINHA = "001"         
LINHA = LINHA + "9999"
LINHA = LINHA + "9"
LINHA = LINHA + Spaces(9)
LINHA = LINHA + "000001"
LINHA = LINHA + AlinhM(StrVal(Contador0+Contador1+Contador3+Contador5+Contador9),6)  ;Somar todas as linhas
LINHA = LINHA + "000001" ;Quantidade de Contas (Onde o cheque pode ser depositado
LINHA = LINHA + Spaces(205)
LINHA=LINHA+"\n"    
FileWrite Append ARQ From LINHA 

EndProc ;GERA_REG9()

;********************************************************************************
;* CONVERTE VALOR PARA STRING                                                  *
;********************************************************************************
Proc Valor_Str(Valor,Tam,Dec)
Private VrTit,Valor,Tam,Dec,Part1,Part2
VrTit=StrVal(Valor)
If SearchFrom(".",VrTit,1)>0
   Then Part1=SubStr(VrTit,1,SearchFrom(".",VrTit,1)-1)
        Part2=SubStr(VRTit,SearchFrom(".",VrTit,1)+1,Dec)
        Part2=PART2+Fill(0,DEC-Len(Part2))
   Else Part1=VrTit
        Part2=Fill(0,Dec)
EndIf
Vrtit=Part1+Part2
VrTit=Fill("0",Tam-Len(VrTit))+VrTit
Return VrTit
EndProc  ; (Valor_Str)

;******************************************************************************
;*Procedimento responsavel pela montagem do cgc/cpf                           *
;******************************************************************************
Proc MONTA_STRING(MSTRING,NUMALF)
M_NOVO = ""
Switch
   Case NUMALF = "N":
        For I From 1 to Len(MSTRING)
            If (Asc(SubStr(MSTRING,I,1)) >= 48) And
               (Asc(SubStr(MSTRING,I,1)) <= 57)
               Then M_NOVO = M_NOVO + SubStr(MSTRING,I,1)
            EndIf
        EndFor
   Case NUMALF = "A":
        For I From 1 to Len(MSTRING)
            If (Asc(SubStr(MSTRING,I,1)) >= 065) And
               (Asc(SubStr(MSTRING,I,1)) <= 122)
               Then M_NOVO = M_NOVO + SubStr(MSTRING,I,1)
            EndIf
        EndFor
   Case NUMALF = "AN":
        For I From 1 to Len(MSTRING)
            If (Asc(SubStr(MSTRING,I,1)) >= 065) And
               (Asc(SubStr(MSTRING,I,1)) <= 122) Or
               (Asc(SubStr(MSTRING,I,1)) >= 48) And
               (Asc(SubStr(MSTRING,I,1)) <= 57)
               Then M_NOVO = M_NOVO + SubStr(MSTRING,I,1)
            EndIf
        EndFor
EndSwitch
Return(M_NOVO)

EndProc ; (Monta_String)

Proc Imprime_Deposito()

DISPOSITIVO()
If OK=""
	 Then Return
EndIf

AGUARDE("Aguarde, gerando o relat¢rio")

{Ask} {BordChc} Check
Moveto [Numero do Lote] Check Example "l"
{Ask} {BordChi} Check
Moveto [Numero do Lote] Example "l" TypeIn ",~LOTE"
Do_It!
ClearAll

If IsEmpty("Answer")
	 Then MENSAGEM("N„o existem registros a processar")
				Return
EndIf

CopyReport "\\Base\\Sistemas\\CheqRec\\Rm_0020" "4" "Answer" "R"
IMPRIREL("Answer","R")

Delete "Answer"

Endproc



;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************

NREMESSA=AlinhM(StrVAl(LOTE),6)
Aguarde("Gerando arquivo remessa "+NREMESSA)

VSDGDRIVE=SubStr(Directory(),1,2)
VSDGPASTA="\\Sistemas\\Exporta\\Bancos"

DIA =AlinhM(StrVal(Day(Today())),2)+AlinhM(StrVal(Month(Today())),2)+StrVal(Year(Today()))
HORA=Substr(Time(),1,2)+Substr(Time(),4,2)+Substr(Time(),7,2)

ARQ=VSDGDRIVE+VSDGPASTA+"\\ExpBord.txt"
Deleta_Arquivo(ARQ)


GERA_REG0()
If Gerou_Arquivos
   Then 
        GERA_REG1()
        GERA_REG_CMC7() 
        GERA_REG_SEG() 
        GERA_REG5()
        GERA_REG9()

        VSDGPASTA="C:\\BancoBrasil\\BBTransf\\remessa\\"
        If DirExists(VSDGPASTA)=0
           Then Cria_Pasta(VSDGPASTA)
                Sleep 2000
        EndIf
        ARQ_TEMP=VSDGPASTA+"CHQ_"+CONVENIO+"_"+NREMESSA+".REM"
        Deleta_Arquivo(ARQ_TEMP)
        Sleep 2000

        Copia_Arquivo(ARQ+" "+ARQ_TEMP)

        Mensagem("Arquivo Gerado:// "+ARQ_TEMP+"// //Imprima o comprovante !")

        Imprime_Deposito()

   Else Mensagem("O arquivo nÆo foi gerado//verificar configura‡äes !")               
EndIf

LimpAguarde()
