;** AC_S_CHQ *******************************************************************
;* Programa de Acerto p/ refazer todas as tabelas de Cheque                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 07/06/2019 por Bruno Carvalho
;Ultima Alteracao:   /  /     por                          
;Motivo Alteracao:

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot"

ConfGeral("Rotina p/ refazer as tabelas da rotina de CHEQUE, continuar com esse processo?")
If Ok<>"S"
   Then Return
EndIf

Array Tabela_Cheque[2]
Tabela_Cheque[1]= "ChequeC"
Tabela_Cheque[2]= "ChequeI"

SetDir "\\Sistemas\\CheqRec"
ConfGeral("Deseja efetuar o backup dos arquivos de CHEQUE envolvidos?")

If Ok="S"
   Then For i From 1 To ArraySize(Tabela_Cheque)
          Switch
            Case i = 1 : TAB_REN = "BK_CHQC"
            Case i = 2 : TAB_REN = "BK_CHQI"
          EndSwitch
          Aguarde("Realizando o Backup "+Tabela_Cheque[i])
          Copy Tabela_Cheque[i] TAB_REN
        EndFor      
EndIf

For i From 1 To ArraySize(Tabela_Cheque)
  If Istable(Tabela_Cheque[i])
     Then Aguarde("Refazendo a Tabela "+Tabela_Cheque[i])
          {Ask} TypeIn Tabela_Cheque[i] Enter Check
          Moveto [Numero do Lancamento] TypeIn "Not Blank"
          Do_It!
          ClearAll
                    
          TAB_REN = "REC"+Rtrim(SubStr(Tabela_Cheque[i],7,2))
          Rename "Answer" TAB_REN
          
          If IsEmpty(TAB_REN)
             Then Copy "\\Base\\Sistemas\\CheqRec\\"+Tabela_Cheque[i] Tabela_Cheque[i]
                  Delete TAB_REN
                  If Tabela_Cheque[i]<> "ChequeC" And
                     Tabela_Cheque[i]<> "ChequeI"
                     Then TAB_REN = "BK_CHQ"+Rtrim(SubStr(Tabela_Cheque[i],7,2))
                          If Istable(TAB_REN)
                             Then Delete TAB_REN
                          EndIf    
                  EndIf
                  Loop
          EndIf   
          
          Tabela=Cria_Temp(PrivDir())
          Create Tabela Like "\\Base\\Sistemas\\CheqRec\\"+Tabela_Cheque[i]
          
          CONTADOR = 0
          View Tabela
          CoEdit TAB_REN
          Scan
            Barra(NRecords(TAB_REN), RecNo())
            Aguarde("Refazendo a Tabela "+Tabela_Cheque[i]+" "+BARRA_STRING)
            
            CopyToArray REG_CHQ
            CONTADOR = CONTADOR + 1
            Moveto Tabela
            If CONTADOR=1
               Then End
               Else End Down
            EndIf
            CopyFromArray REG_CHQ
            UnLockRecord   
            
            Moveto TAB_REN
          EndScan
          Do_it!
          ClearAll
          
          ;---- Excluindo a Tabela de Origem p/ ser realizado o processo -------
          Delete Tabela_Cheque[i]
          
          ;---- Copiando a Familia da Tabela do Base p/ a Answer e renomeando p/ Nome Original
          Copy Tabela "\\Sistemas\\CheqRec\\"+Tabela_Cheque[i]
          {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\CheqRec\\"+Tabela_Cheque[i] Enter TypeIn Tabela_Cheque[i] Enter {Replace}
          
          ;--- Add = Problema com muitos Registros -----------------------------
          ;Add Tabela Tabela_Cheque[i]          
          
          Delete TAB_REN
          Delete Tabela
          
          ;---- Excluindo Bk's desnecess rios ----------------------------------
          If Tabela_Cheque[i]<> "ChequeC" And
             Tabela_Cheque[i]<> "ChequeI" 
             Then TAB_REN = "BK_CHQ"+Rtrim(SubStr(Tabela_Cheque[i],7,2))
                  If Istable(TAB_REN)
                     Then Delete TAB_REN
                  EndIf    
          EndIf
     Else Mensagem("Tabela no encontrado no CheqRec: "+Tabela_Cheque[i])
  EndIf   
EndFor 
SetDir "\\Sistemas\\Cadastro"

Mensagem("Processo ConcluĦdo//Todas as tabelas de cheques foram refeitas!")

Release Vars All
Release Procs All
