;** AC_S_FAT *******************************************************************
;* Programa de Acerto p/ refazer todas as tabelas do Fatura                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 16/09/2015 por Bruno Carvalho
;Ultima Alteracao: 14/06/2016 por Bruno Carvalho                         
;Motivo Alteracao: Adicionado "FaturaCC" e Removido "FaturaJC","FaturOCP"
;Ultima Alteracao: 31/05/2017 por Rafael Matos
;Motivo Alteracao: Removido "Fatura G" e "Fatura TG"

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Vendas\\Bib_Bal"

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

Array Tabela_Fatura[10]
Tabela_Fatura[1]= "FATURAC"
Tabela_Fatura[2]= "FATURAI"
Tabela_Fatura[3]= "FATURAIC"
Tabela_Fatura[4]= "FATURAID"
Tabela_Fatura[5]= "FATURAIG"
Tabela_Fatura[6]= "FATURACC"
Tabela_Fatura[7]= "FATURAR"
Tabela_Fatura[8]="FATURAV"
Tabela_Fatura[9]="FATURIAD"
Tabela_Fatura[10]="FATURIDD"

SetDir "\\Sistemas\\Vendas"
ConfGeral("Deseja efetuar o backup dos arquivos do FATURA envolvidos?")

If Ok="S"
   Then For i From 1 To ArraySize(Tabela_Fatura)
          TAB_REN = "BK_FAT"+Rtrim(SubStr(Tabela_Fatura[i],7,2))
          Aguarde("Realizando o Backup "+Tabela_Fatura[i])
          Copy Tabela_Fatura[i] TAB_REN
        EndFor      
EndIf

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

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

Release Vars All
Release Procs All
