;** AC_S_PED *******************************************************************
;* Programa de Acerto p/ refazer todas as tabelas do Pedido                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 16/09/2015 por Bruno Carvalho
;Ultima Alteracao:   /  /     por                          
;Motivo Alteracao:

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

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

Array Tabela_Pedido[7]
Tabela_Pedido[1]= "PEDIDOC"
Tabela_Pedido[2]= "PEDIDOG"
Tabela_Pedido[4]= "PEDIDOI"
Tabela_Pedido[7]= "PEDIDOV"

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

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

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

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

Release Vars All
Release Procs All
