;*******************************************************************************
;* Desenvolvido: 01/11/2019 por Bruno Carvalho                                 *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

DATAM_DATA   = DateVal("31.10.2019")
DATAM_VERSAO = "2019.J"
 
DATAM_EXECUTA = "SYS_DATAM"
Play "\\Sistemas\\Cadastro\\EXEC_DAT"

If Not DATAM_EXECUTA 
   Then Exit
   Else DATAM_ROTINA  = "Cadastro, Estoque, ICMS/IPI e Vendas"
        DATAM_EXECUTA = "SYS_DATAM_MENSAGEM"
        Play "\\Sistemas\\Cadastro\\EXEC_DAT"
        If Not DATAM_EXECUTA
           Then Exit
        EndIf
EndIf

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

;---- Em 02/10/2019 por Bruno Carvalho -----------------------------------------
If Not IsTable("DestEXP")
   Then Copy "\\Base\\Sistemas\\Cadastro\\DestEXP" "\\Sistemas\\Cadastro\\DestEXP"
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Cadastro\\Destinat" Enter TypeIn "Destinat" Enter {Replace}
EndIf

;---- Em 07/10/2019 por Bruno Carvalho -----------------------------------------
Array ARQTEMP[13]
ARQTEMP[1]  = "ALTTITC"
ARQTEMP[2]  = "CHEQUEC"
ARQTEMP[3]  = "CHEQUEI"
ARQTEMP[4]  = "CONTRDIA"
ARQTEMP[5]  = "CORREIOI"
ARQTEMP[6]  = "EXPEDC"
ARQTEMP[7]  = "OFACC"
ARQTEMP[8]  = "OSC"
ARQTEMP[9]  = "RFACC"
ARQTEMP[10] = "TAB_INVC"
ARQTEMP[11] = "TITULOS"
ARQTEMP[12] = "VISITAC"
ARQTEMP[13] = "X..LEIAME"
  
SetDir "\\Sistemas\\Imagens\\Nolookup"

{Tools} {Info} {Inventory} {Scripts} Enter
Scan
   Barra(NRecords("List"), RecNo())
   Aguarde("Aguarde, removendo scripts NOLOOKUP sem uso "+BARRA_STRING)
   
   ARQUIVO=Upper([Name])
   If SubStr(ARQUIVO,1,9) = "X..LEIAME" Then Loop EndIf
   
   For io From 1 To ArraySize(ARQTEMP)
     If ARQUIVO = ARQTEMP[io]
        Then ARQUIVO = ""
             QuitLoop
     EndIf             
   EndFor
   If ARQUIVO="" Then Loop EndIf
   
   ARQUIVO2 = ARQUIVO+".sc2" 
   ARQUIVO  = ARQUIVO+".sc"
   If IsFile(ARQUIVO)  Then Deleta_Arquivo(ARQUIVO)  EndIf
   If IsFile(ARQUIVO2) Then Deleta_Arquivo(ARQUIVO2) EndIf
EndScan
ClearAll

;---- Em 16/10/2019 por Bruno Carvalho -----------------------------------------
If IsTable("TPPagto")
   Then Array TPPAGTO[27]
        TPPAGTO[1]  = "BO BOLETA BANCARIA"       
        TPPAGTO[2]  = "BP BOLETO PENDENTE"        
        TPPAGTO[3]  = "CD CARTAO DE DEBITO"       
        TPPAGTO[4]  = "CH CHEQUE"                 
        TPPAGTO[5]  = "CL CARTAO PARCELADO"       
        TPPAGTO[6]  = "CO COBRANCA"               
        TPPAGTO[7]  = "CP CHEQUE PRE-DATADOS"     
        TPPAGTO[8]  = "CR CARNE"                  
        TPPAGTO[9]  = "CT CARTAO CREDITO"         
        TPPAGTO[10] = "DA DEBITO AUTOMATICO"      
        TPPAGTO[11] = "DC DEBITO EM COMISSAO"     
        TPPAGTO[12] = "DE DEPOSITO BANCARIO"      
        TPPAGTO[13] = "DN DINHEIRO"               
        TPPAGTO[14] = "DP DUPLICATA"              
        TPPAGTO[15] = "DT DEPOSITO ANTECIPADO"    
        TPPAGTO[16] = "HD CHEQUE DEVOLVIDO"       
        TPPAGTO[17] = "MO MOEDAS"                 
        TPPAGTO[18] = "NO VENDA A PRAZO"          
        TPPAGTO[19] = "NP NOTA PROMISSORIA"       
        TPPAGTO[20] = "OU OUTROS"                 
        TPPAGTO[21] = "PE PAGTO ELETRONICO"       
        TPPAGTO[22] = "RP RESGATE DE PONTOS"      
        TPPAGTO[23] = "TC TITULO DE CREDITO"      
        TPPAGTO[24] = "TE TRANSF. ELETRONICA"     
        TPPAGTO[25] = "TK TICKET"                 
        TPPAGTO[26] = "TR TROCA"
        TPPAGTO[27] = "VD VALOR DEBITO"           

        CoEdit "TPPagto"
        For po From 1 To ArraySize(TPPAGTO)
          PAGTO_TIPO = Rtrim(SubStr(TPPAGTO[po],1,2))
          PAGTO_NOME = Ltrim(Rtrim(SubStr(TPPAGTO[po],4,Len(TPPAGTO[po])))) 
          Home
          Moveto [Tipo do Pagamento]
          Locate PAGTO_TIPO
          If Not RetVal
             Then End Down
                  [Tipo do Pagamento       ] = PAGTO_TIPO 
                  [Descricao Tipo Pagamento] = PAGTO_NOME
                  [Utiliza_ECF             ] = "N"
                  [Codigo_Avanco           ] = "0000" 
                  [Utiliza_VisePedidos     ] = "N"
                  UnLockRecord
          EndIf        
        EndFor
        Do_it!
        ClearAll
EndIf

EndProc ;Correcao_Tabelas_Cadastro()

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

;---- Em 08/10/2019 por Anivel Augusto Rodrigues -------------------------------
If IsTable("Ctp_0500")
   Then 
        CoEdit "Ctp_0500"
        scan
          if search([CodigoModelo],"08,09,10,11,26,57,8B")=0
             then 
                  [Natureza do Frete]=""
          endif        
        endscan
        do_it!
        clearall
EndIf

EndProc ;Correcao_Tabelas_Icms_ipi()

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

If IsTable("Itens") 
   Then {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\Itens" Enter TypeIn "Itens" Enter {Replace}
        If IsFile("AC_DTCAD.SC")
           Then Play "AC_DTCAD"
        EndIf        
EndIf

EndProc ;Correcao_Tabelas_Estoque()
 
;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas_Vendas()
Private ok,ok2  

;----- Em 02/10/2019 por Bruno Carvalho ----------------------------------------
If Not IsTable("Lpresedi")
   Then Copy "\\Base\\Sistemas\\Vendas\\Lpresedi" "\\Sistemas\\Vendas\\Lpresedi"
EndIf

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

If IsTable("Lpreserq")
   Then Ok=False
        {Modify} {Restructure} {Lpreserq}
        Moveto [Field Name]
        Locate "Tipo do Documento"
        If Not RetVal
           Then Locate "Numero do Documento"
                If RetVal
                   Then Ok=True
                        Ins
                        TypeIn "Tipo do Documento" Enter "A4" Enter
                        End Down
                        TypeIn "Data"              Enter "D"  Enter
                EndIf    
        EndIf
        Do_It!
        ClearAll        
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\Lpreserq" Enter TypeIn "Lpreserq" Enter {Replace}
        
        If Ok=True
           Then CoEdit "Lpreserq"
                Scan
                   [Data]=[Data_Inclusao]
                   Switch
                     Case [Serie do Documento] = "1"             : [Tipo do Documento] = "NFE"
                     Case SubStr([Serie do Documento],1,1) = "R" : [Tipo do Documento] = "ROM"
                     OtherWise                                   : [Tipo do Documento] = "CUP"  
                   EndSwitch
                EndScan
                Do_it!
                ClearAll
        EndIf
EndIf

;---- Em 06/10/2019 por Bruno Carvalho -----------------------------------------
If IsTable("Lpresene")
   Then {Modify} {Restructure} {Lpresene}
        Moveto [Field Name]
        Locate "Codigo de Barras COD128"
        If Not RetVal
           Then End Down
                "Codigo de Barras COD128"  Enter  "A40"    
        EndIf
        Do_It!
        ClearAll        
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\Lpresene" Enter TypeIn "Lpresene" Enter {Replace}
EndIf

;---- Em 08/10/2019 por Bruno Carvalho ------------------------------------------
If IsTable("FaturaI")
   Then {Modify} {Restructure} {FaturaI}
        Moveto [Field Name]
        Locate "Quantidade Solicitada"
        If Not RetVal
           Then End Down
                "Quantidade Solicitada"  Enter  "N"    
        EndIf
        Do_It!
        ClearAll        
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\FaturaI" Enter TypeIn "FaturaI" Enter {Replace}
EndIf

;---- Em 29/10/2019 por Bruno Carvalho -----------------------------------------
If IsTable("TbPrCab")
   Then {Modify} {Restructure} {TbPrCab}
        Moveto [Field Name]
        Locate "Utiliza_Pontuacao"
        If RetVal
           Then Del    
        EndIf
        Do_It!
        While True
          If MenuChoice()="Trimming"
             Then {Trimming}
             Else If MenuChoice()="Delete"
                     Then {Delete}
                     Else QuitLoop
                  EndIf
          EndIf
        EndWhile
        ClearAll        
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\TbPrCab" Enter TypeIn "TbPrCab" Enter {Replace}
EndIf

;---- Em 18/10/2019 por Bruno Carvalho -----------------------------------------
ARRAY TABELA[3]
TABELA[1] = "P_Balcao"
TABELA[2] = "P_Fatura"
TABELA[3] = "P_Troca"

For ii From 1 To ArraySize(TABELA) 
  If IsTable(TABELA[ii])
     Then ok =False
          ok2=False
          {Modify} {Restructure} TypeIn TABELA[ii] Enter
          Moveto [Field Name]
          If ii=2 ;P_Fatura
             Then Locate "Utiliza_Qtd_Solicitada"
                  If Not RetVal
                     Then ok2=True
                          End Down
                          "Utiliza_Qtd_Solicitada"  Enter  "A1"    
                   EndIf
                   Home
                   Moveto [Field Name]
          EndIf         
          Locate "Utiliza_Resgate_Pontos"
          If Not RetVal
             Then ok=True
                  End Down
                  "Utiliza_Resgate_Pontos"  Enter  "A1"    
          EndIf
          If ii=1 ;P_Balcao
             Then Home
                  Moveto [Field Name]
                  Locate "Utiliza_Qtd_Solicitada"
                  If Not RetVal
                     Then ok2=True
                          End Down
                          "Utiliza_Qtd_Solicitada"  Enter  "A1"    
                   EndIf
                   Home
                   Moveto [Field Name]
          EndIf
          Do_It!                   
          ClearAll        
                                         
          {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\"+TABELA[ii] Enter TypeIn TABELA[ii] Enter {Replace}
          
          If Ok Or ok2                            
             Then CoEdit TABELA[ii]
                  Scan
                    Barra(NRecords(TABELA[ii]), RecNo())
                    Aguarde("Aguarde, ajustando "+TABELA[ii]+" "+BARRA_STRING)
                    
                    If ok2 
                       Then If SYS_CODIGO_CLIENTE="0377"
                              Then [Utiliza_Qtd_Solicitada] = "S"
                              Else [Utiliza_Qtd_Solicitada] = "N"
                           EndIf  
                    EndIf
                    
                    If ok
                       Then If SYS_CODIGO_CLIENTE="0227"
                               Then [Utiliza_Resgate_Pontos] = "S"
                               Else [Utiliza_Resgate_Pontos] = "N"
                            EndIf   
                    EndIf                
                  EndScan
                  Do_It!
                  ClearAll
          EndIf   
  EndIf
EndFor

EndProc ;Correcao_Tabelas_Vendas()

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

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

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

DATAM_ROTINA   = "CADASTRO"
DATAM_FECHAMES = ""
DATAM_EXECUTA  = "DATAM_SETDIR"
Play "\\Sistemas\\Cadastro\\EXEC_DAT"

DATAM_ROTINA   = "ICMS_IPI"
DATAM_FECHAMES = ""
DATAM_EXECUTA  = "DATAM_SETDIR"
Play "\\Sistemas\\Cadastro\\EXEC_DAT"  

DATAM_ROTINA   = "ESTOQUE"
DATAM_FECHAMES = ""
DATAM_EXECUTA  = "DATAM_SETDIR"
Play "\\Sistemas\\Cadastro\\EXEC_DAT" 

DATAM_ROTINA   = "VENDAS"
DATAM_FECHAMES = "FECHAMES"
DATAM_EXECUTA  = "DATAM_SETDIR"
Play "\\Sistemas\\Cadastro\\EXEC_DAT" 

{Tools} {More} {Directory} {\\Sistemas\\Cadastro\\}

DATAM_EXECUTA  = "DATAM_SYSTABLE"
Play "\\Sistemas\\Cadastro\\EXEC_DAT" 

UnPassword("t01avivcl")
UnPassword("FechaSys")
LimpAguarde()
FastMsg("Fim da atualiza‡Æo !")

DATAM_EXECUTA  = "DATAM_RELEASE"
Play "\\Sistemas\\Cadastro\\EXEC_DAT"

Release Vars DATAM_EXECUTA
