;*******************************************************************************
;* Desenvolvido: 04/06/2018 por Bruno Carvalho                                 *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

Mensagem("Pacote 2018.E ! (Maio/2018)// //"+
         "Rotina Estoque, Fac‡Æo e Vendas//"+
         "//Tabelas do Sistema e Base ser„o atualizadas !!!//"+
         "// Este processo deve ser executado sem que outros Usuarios//"+
         "// estejam utilizando o Sistema, Ok !!!")


;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas_Faccao()

;---- Em 08/05/2018 por Bruno Carvalho -----------------------------------------
Array Tabelas[2]
Tabelas[1] = "Rfacrig"
Tabelas[2] = "Rfacri"

For ii From 1 To ArraySize(Tabelas)
  If IsTable(Tabelas[ii]) 
     Then {Modify} {Restructure} TypeIn Tabelas[ii] Enter
          Moveto [Field Name]
          Locate "Numero_Producao_Corte"
          If Not RetVal
             Then End Down
                  "Numero_Producao_Corte"  Enter "A6" Enter
          EndIf
          Do_it! 
          ClearAll
          
          {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Faccao\\"+Tabelas[ii] Enter TypeIn Tabelas[ii] Enter {Replace}
  EndIf
Endfor

If IsTable("RFACRIR") 
   Then {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Faccao\\RFACRIR" Enter TypeIn "RFACRIR" Enter {Replace}
EndIf

If IsTable("RFACC") 
   Then {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Faccao\\RFACC"   Enter TypeIn "RFACC"   Enter {Replace}
EndIf   

EndProc ;Correcao_Tabelas_Faccao()

;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas_Estoque()

;---- Em 14/05/2018 por Bruno Carvalho -----------------------------------------
If IsTable("Re_0010") 
   Then {Modify} {Restructure} {Re_0010}
        Moveto [Field Name]
        Locate "Lookup_Itens_Cor"
        If Not RetVal
           Then End Down
                "Lookup_Itens_Cor"  Enter "A10" Enter
        EndIf
        Do_it! 
        ClearAll
         
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Re_0010" Enter TypeIn "Re_0010" Enter {Replace}
EndIf

;---- Em 25/05/2018 por Bruno Carvalho ----------------------------------------- 
If IsTable("Itens") 
   Then {Ask} {Itens}
        Moveto [CNPJFab  ] TypeIn "Blank"
        Moveto [IndEscala] TypeIn "Changeto S"
        Do_it!
        ClearAll
EndIf

;---- Em 30/05/2018 por Anivel Augusto Rodrigues -------------------------------
If IsTable("RE_0010E") 
   Then {Modify} {Restructure} {RE_0010E}
        Moveto [Field Name]
        Locate "Numero"
        If RetVal
           Then If [Field Type]<>"A4"
                   Then Enter CtrlBackSpace "A4"  Enter 
                EndIf   
        EndIf
        Do_it! 
        ClearAll 
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\RE_0010E" Enter TypeIn "RE_0010E" Enter {Replace}
EndIf 

EndProc ;Correcao_Tabelas_Estoque()

;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas_Vendas()

;---- Em 15/05/2018 por Bruno Carvalho -----------------------------------------
If IsTable("P_Fatura") 
   Then {Modify} {Restructure} {P_Fatura}
        Moveto [Field Name]
        Locate "NSEN_Codigo do Docto"
        If Not RetVal
           Then End Down
                "NSEN_Codigo do Docto"      Enter "A4" Enter
                "NSEN_Tipo do Docto"        Enter "A4" Enter
                "NSEN_Serie do Docto"       Enter "A4" Enter
                "NSEN Dup_Codigo do Docto"  Enter "A4" Enter
                "NSEN Dup_Tipo do Docto"    Enter "A4" Enter
                "NSEN Dup_Serie do Docto"   Enter "A4" Enter
        EndIf
        Do_it!
        While True
           Switch
             Case MenuChoice()="Trimming" : {Trimming}
             Case MenuChoice()="Delete"   : {Delete}
             OtherWise                    : QuitLoop    
           EndSwitch  
        EndWhile
        ClearAll   
         
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\P_Fatura" Enter TypeIn "P_Fatura" Enter {Replace}
EndIf

EndProc ;Correcao_Tabelas_Vendas()

;-------------------------------------------------------------------------------

Aguarde("Atualizando Sistema")
Password("t01avivcl")
Password("FechaSys")

View "SysTable"
SYS_CODIGO_CLIENTE = [Codigo do Cliente   ]
ClearAll

;-------------------------------------------------------------------------------

;****************** FACCAO/FECHAMES ******************
Diretorio="\\Sistemas\\Faccao\\"
Diretorios_Fechames_C(Diretorio)
Array_Diretorios[1]=""
For i From 1 to DynArraySize(Array_Diretorios)
  If i=1  
     Then Diretorio="\\Sistemas\\Faccao"
     Else Diretorio="\\Sistemas\\Faccao\\Fechames\\"+Array_Diretorios[i]
  EndIf   
  Aguardes("Atualizando Pasta: "+Diretorio)
  {Tools} {More} {Directory} TypeIn Diretorio Enter
          
  Correcao_Tabelas_Faccao() 
  LimpAguarde()
EndFor    
LimpAguardes()
          
;****************** Faccao/FECHANO ********************
DiretorioFechAno  ="\\FechAno"
Modulo            ="\\Faccao"
Diretorios_FechAno(DiretorioFechAno)
For i From 1 to DynArraySize(Array_Diretorios)
  LimpAguardes()
  DiretorioFA=DiretorioFechAno+"\\"+Array_Diretorios[i]+Modulo
  If DirExists(DiretorioFA)=0 Then Loop EndIf
          
  Lista_Diretorio(DiretorioFA)
  For j From 1 to DynArraySize(Array_Lista_Diretorios)
    Diretorio=DiretorioFA+"\\"+Array_Lista_Diretorios[j]+"\\"
    Aguardes("Atualizando Pasta: "+Diretorio)
    {Tools} {More} {Directory} TypeIn Diretorio Enter
          
   Correcao_Tabelas_Faccao()
   LimpAguarde()
  EndFor  
EndFor    
LimpAguardes()

;-------------------------------------------------------------------------------

;*************************** ESTOQUE   ****************************
Diretorio="\\Sistemas\\Estoque"
Aguardes("Atualizando Pasta: "+Diretorio)
{Tools} {More} {Directory} TypeIn Diretorio Enter
Correcao_Tabelas_Estoque() 
LimpAguardes()

;*************************** VENDAS **************************** 
Diretorio="\\Sistemas\\Vendas"
Aguardes("Atualizando Pasta: "+Diretorio)
{Tools} {More} {Directory} TypeIn Diretorio Enter
Correcao_Tabelas_Vendas() 
LimpAguardes()

;-------------------------------------------------------------------------------

{Tools} {More} {Directory} {\\Sistemas\\Cadastro\\}
UnPassword("t01avivcl")
UnPassword("FechaSys")
LimpAguarde()
FastMsg("Fim da atualiza‡Æo !")

Release Vars Diretorio
Release Procs Correcao_Tabelas_Faccao,Correcao_Tabelas_Estoque,Correcao_Tabelas_Vendas
