;*******************************************************************************
;* Desenvolvido: 03/04/2019 por Anivel Augusto Rodrigues                       *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

Mensagem("Pacote 2019.D ! (Abril/2019)// //"+
         "Rotina Estoque e Vendas//"+
         "//Tabelas do Sistema e Base ser„o atualizadas !!!//"+
         "// Este processo deve ser executado sem que outros Usuarios//"+
         "// estejam utilizando o Sistema, Ok !!!")

While True
  If Verifica_Usuario()
     Then QuitLoop
     Else ConfGeral("Comunicar os usuarios !// //Deseja Continuar com Atualizacao ?")
          If OK<>"S"
             Then Exit
          EndIf
  EndIf
EndWhile

;*******************************************************************************
;* Rotina para processar registros                                             *
;*******************************************************************************
Proc Correcao_Tabelas_Estoque()
private ok

;---- Em 03/04/2019 por Anivel Augusto Rodrigues -------------------------------
If IsTable("RE_0010")
   Then Ok=false
        
        {Modify} {Restructure} {Re_0010}
        Moveto [Field Name]
        Locate "Artigo"
        If Not RetVal
           Then End Down
                "Artigo"                 Enter "A12"  Enter
                "Composicao"             Enter "A120" Enter
                "Peca"                   Enter "A12"  Enter
                "Largura"                Enter "A12"  Enter
                "Gramatura"              Enter "A12"  Enter
                "Rendimento"             Enter "A12"  Enter
                "CodigoSimbologia"       Enter "A3"   Enter
                "Simbologia_Impressao"   Enter "A31"  Enter
                "Largura Util"           Enter "A12"  Enter
                "AtualizarIten_Tec"      Enter "A1"   Enter
        EndIf
        Do_It!
        ClearImage
        
        {Modify} {Restructure} {Re_0010}
        Moveto [Field Name]
        Locate "CODPreco"
        If Not RetVal
           Then End Down
                "CODPreco"               Enter "A30"  Enter
        EndIf
        Do_It!
        ClearImage
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Itens"    Enter TypeIn "Itens"    Enter {Replace} 
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Iten_tec" Enter TypeIn "Iten_tec" Enter {Replace} 
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Re_0010"  Enter TypeIn "Re_0010"  Enter {Replace} 
EndIf

If not IsTable("Listtit")  Then  copy "\\base\\sistemas\\estoque\\listtit"  "listtit"  endif
If not IsTable("Listnotc") Then  copy "\\base\\sistemas\\estoque\\listnotc" "listnotc" endif
If not IsTable("ListnotI") Then  copy "\\base\\sistemas\\estoque\\listnoti" "listnoti" endif

;---- Em 04/04/2019 por Anivel Augusto Rodrigues -------------------------------
If IsTable("Tabmva")
   Then Ok=false
        
        {Modify} {Restructure} {Tabmva}
        Moveto [Field Name]
        Locate "FEM ICMS_ST_Aliquota"
        If RetVal
           Then Del 
        EndIf
        Do_it! 
        While True
           Switch
             Case MenuChoice()="Trimming" : {Trimming}
             Case MenuChoice()="Delete"   : {Delete}
             OtherWise                    : QuitLoop    
           EndSwitch  
        EndWhile
        ClearImage
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Tabmva" Enter TypeIn "Tabmva" Enter {Replace} 
EndIf

;---- Em 26/04/2019 por Anivel Augusto Rodrigues -------------------------------
;Esta sendo aplicado este processo acima, ao montar a nova estrutura do RE_0010
;If IsTable("RE_0010")
;   Then Ok=false
;        
;        {Modify} {Restructure} {Re_0010}
;        Moveto [Field Name]
;        Locate "CODPreco"
;        If Not RetVal
;           Then End Down
;                "CODPreco"               Enter "A30"  Enter
;        EndIf
;        Do_It!
;        ClearImage
;        
;        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Itens"    Enter TypeIn "Itens"    Enter {Replace} 
;        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Re_0010"  Enter TypeIn "Re_0010"  Enter {Replace} 
;EndIf

EndProc ;Correcao_Tabelas_Estoque()

;*******************************************************************************
;* Rotina para processar registros                                             *
;*******************************************************************************
Proc Correcao_Tabelas_Vendas()
private ok

;---- Em 17/04/2019 por Bruno Carvalho -----------------------------------------
If Not IsTable("Lpresenc")
   Then Copy "\\Base\\Sistemas\\Vendas\\Lpresenc" "Lpresenc" 
EndIf

If Not IsTable("Lpreseni")
   Then Copy "\\Base\\Sistemas\\Vendas\\Lpreseni" "Lpreseni" 
EndIf

EndProc ;Correcao_Tabelas_Vendas()

;*******************************************************************************
;* Rotina para processar registros                                             *
;*******************************************************************************
Proc Correcao_Tabelas_Vendas2()
private ok

;Executa no FECHAMES

;---- Em 29/04/2019 por Anivel Augusto Rodrigues -------------------------------
If IsTable("Faturacc")
   Then Ok=false
        
        {Modify} {Restructure} {Faturacc}
        Moveto [Field Name]
        Locate "CGC Recebedor"
        If Not RetVal
           Then End Down
                "CGC Recebedor"               Enter "A18"  Enter
                "Razao Social Recebedor"      Enter "A40"  Enter
                "Telefone Recebedor"          Enter "A20"  Enter
                "Email Recebedor"             Enter "A60"  Enter
                "IE Recebedor"                Enter "A15"  Enter
                
                "CGC Expedidor"               Enter "A18"  Enter
                "Razao Social Expedidor"      Enter "A40"  Enter
                "Telefone Expedidor"          Enter "A20"  Enter
                "Email Expedidor"             Enter "A60"  Enter
                "IE Expedidor"                Enter "A15"  Enter

                "Endereco de Retirada"        Enter "A40"  Enter
                "Bairro de Retirada"          Enter "A20"  Enter
                "CEP de Retirada"             Enter "A10"  Enter
                "Cidade de Retirada"          Enter "A20"  Enter
                "UF de Retirada"              Enter "A2"   Enter
        EndIf
        Do_It!
        ClearImage
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\Faturacc" Enter TypeIn "Faturacc" Enter {Replace} 
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\Faturac"  Enter TypeIn "Faturac"  Enter {Replace} 
EndIf

EndProc ;Correcao_Tabelas_Vendas2()

;*******************************************************************************
;Rotina Principal                                                              *
;*******************************************************************************
Aguarde("Atualizando Sistema")
Password("t01avivcl")
Password("FechaSys")

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

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

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

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

;****************** VENDAS/FECHAMES ******************
Diretorio="\\Sistemas\\Vendas\\"
Diretorios_Fechames_C(Diretorio)
Array_Diretorios[1]=""
For i From 1 to DynArraySize(Array_Diretorios)
  If i=1  
     Then Diretorio="\\Sistemas\\Vendas"
     Else Diretorio="\\Sistemas\\Vendas\\Fechames\\"+Array_Diretorios[i]
  EndIf   
  Aguardes("Atualizando Pasta: "+Diretorio)
  {Tools} {More} {Directory} TypeIn Diretorio Enter
          
  Correcao_Tabelas_Vendas2() 
  LimpAguarde()
EndFor    
LimpAguardes()
          
;****************** VENDAS/FECHANO ********************
DiretorioFechAno  ="\\FechAno"
Modulo            ="\\Vendas"
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_Vendas2()
   LimpAguarde()
  EndFor  
EndFor    
LimpAguardes()
          
;-------------------------------------------------------------------------------

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

Release Vars Diretorio
Release Procs Correcao_Tabelas_Estoque,Correcao_Tabelas_Vendas,Correcao_Tabelas_Vendas2
