;*******************************************************************************
;* Desenvolvido: 03/05/2021 por Bruno Carvalho                                 *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

DATAM_DATA   = DateVal("30.04.2021")
DATAM_VERSAO = "2021.D"
 
DATAM_EXECUTA = "SYS_DATAM"
Play "\\Sistemas\\Cadastro\\EXEC_DAT"

If Not DATAM_EXECUTA 
   Then Exit
   Else DATAM_ROTINA  = "Cheque de Terceiros, Produ‡Æo, Estoque 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_CheqRec()

;---- Em 27/04/2021 por Bruno Carvalho -----------------------------------------
If IsTable("CDPessoa") 
   Then {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\CheqRec\\CDPessoa" Enter TypeIn "CDPessoa" Enter {Replace}
EndIf   

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

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

EndProc ;Correcao_Tabelas_CheqRec()

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

;---- Em 08/04/2021 por Bruno Carvalho -----------------------------------------
If Not IsTable("RegraTpD")
   Then Copy "\\Base\\Sistemas\\Producao\\RegraTpD" "\\Sistemas\\Producao\\RegraTpD"
   Else {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Producao\\RegraTpD" Enter TypeIn "RegraTpD" Enter {Replace}  
EndIf

If Not IsTable("RegraTpC")
   Then Copy "\\Base\\Sistemas\\Producao\\RegraTpC" "\\Sistemas\\Producao\\RegraTpC"
   Else {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Producao\\RegraTpC" Enter TypeIn "RegraTpC" Enter {Replace} 
EndIf   

EndProc ;Correcao_Tabelas_Producao()

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

;---- Em 12/04/2021 por Bruno Carvalho  ----------------------------------------
If IsTable("NotaEc") 
   Then XCopia_Arquivo("\\BASE\\SISTEMAS\\ESTOQUE\\NOTAEC.Y*")
        XCopia_Arquivo("\\BASE\\SISTEMAS\\ESTOQUE\\NOTAEC.X*")
        {Modify} {Restructure} TypeIn "NOTAEC" Enter Do_It! ClearImage

        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Estoque\\NotaEc" Enter TypeIn "NotaEc" Enter {Replace}
EndIf   

EndProc ;Correcao_Tabelas_Estoque()

;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas_Vendas()
Private Ajusta_dados,TABELA,ii

;---- Em 27/04/2021 por Bruno Carvalho -----------------------------------------
If IsTable("Destin") 
   Then Ajusta_dados=False
        {Modify} {Restructure} {Destin}
        Moveto [Field Name]
        Locate "Utiliza_NFCe"
        if Not RetVal
           Then Ajusta_dados=True
                End Down
                "Utiliza_NFCe"          Enter  "A1"   Enter
                "CFOP_ST"               Enter  "A4"   Enter
                "Indintermed"           Enter  "A1"   Enter
                "Indintermed_CNPJ"      Enter  "A18"  Enter
                "Indintermed_Usuario"   Enter  "A60"  Enter
                "DICMS_CST"             Enter  "A2"   Enter
                "DICMS_CSOSN"           Enter  "A3"   Enter
                "DIPI_CST"              Enter  "A2"   Enter
                "DIPI_Aliquota"         Enter  "N"    Enter
                "DPIS_CST"              Enter  "A2"   Enter
                "DPIS_Aliquota"         Enter  "N"    Enter
                "DCONFINS_CST"          Enter  "A2"   Enter
                "DCONFINS_Aliquota"     Enter  "N"    Enter
                "Flag1"                 Enter  "A1"   Enter
        EndIf
        Do_It!
        ClearAll 
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\Destin" Enter TypeIn "Destin" Enter {Replace}
        
        If Ajusta_dados
           Then CoEdit "Destin"
                ACHOU_NFCE=False
                For ii From 1 to 2
                  If ACHOU_NFCE Then QuitLoop EndIf
                  Aguarde("Aguarde, ajustando destina‡äes")
                  Scan  
                    [Indintermed] = "N"
                    If [IndPres] = "9" Then [IndPres] = "0" EndIf
                    If [Tipo Movimento Estoque]="S"
                       Then Switch
                              Case ii = 1 :
                                   If Search("VENDA",Upper([Descricao da Destinacao]))>0 And Search("NFCE",Upper([Descricao da Destinacao]))>0
                                      Then If Not ACHOU_NFCE Then ACHOU_NFCE = True EndIf
                                           [Utiliza_NFCe]="S"
                                      Else [Utiliza_NFCe]="N"
                                   EndIf
                              Case ii = 2 :
                                    If Search("VENDA",Upper([Descricao da Destinacao]))>0 
                                      Then [Utiliza_NFCe]="S"
                                   EndIf
                            EndSwitch
                    EndIf  
                  EndScan
                  Home  
                Endfor
                Do_it!
                ClearAll
        EndIf
EndIf

;---- Em 04/05/2021 por Bruno Carvalho  ----------------------------------------
Array TABELA[5]
TABELA[1]="P_pedido"
TABELA[2]="P_fatura"
TABELA[3]="P_balcao"
TABELA[4]="P_troca"
TABELA[5]="P_orca"
 
For ii From 1 To ArraySize(TABELA) 
  If IsTable(TABELA[ii]) 
   Then Ajusta_dados = False
        {Modify} {Restructure} TypeIn TABELA[ii] Enter
        Moveto [Field Name]
        Locate "Utiliza_Email"
        if Not RetVal
           Then Ajusta_dados=True
                End Down
                "Utiliza_Email"  Enter "A1" Enter
        EndIf
        Do_It!
        ClearAll 
        
        If Ajusta_dados
           Then CoEdit TABELA[ii]
                Scan
                  Barra(NRecords(TABELA[ii]), RecNo())
                  Aguarde("Aguarde, ajustando dados da destina‡Æo "+BARRA_STRING)
                  
                  UTILIZA_EMAIL="N"
                  If TABELA[ii]="P_BALCAO"
                     Then If SYS_CODIGO_CLIENTE="0232" or
                             SYS_CODIGO_CLIENTE="0278" or
                             SYS_CODIGO_CLIENTE="0343" or
                             SYS_CODIGO_CLIENTE="0359" or
                             SYS_CODIGO_CLIENTE="0370" or
                             SYS_CODIGO_CLIENTE="0373" or
                             SYS_CODIGO_CLIENTE="0380" or
                             SYS_CODIGO_CLIENTE="0388" or
                             SYS_CODIGO_CLIENTE="0390" or
                             SYS_CODIGO_CLIENTE="0392" or
                             SYS_CODIGO_CLIENTE="0404" or
                             SYS_CODIGO_CLIENTE="0427" or
                             SYS_CODIGO_CLIENTE="0431" 
                             Then UTILIZA_EMAIL = "S"
                          EndIf
                  EndIF
                  
                  If TABELA[ii]="P_FATURA"
                     Then If SYS_CODIGO_CLIENTE="0232" or
                             SYS_CODIGO_CLIENTE="0274" or
                             SYS_CODIGO_CLIENTE="0278" or
                             SYS_CODIGO_CLIENTE="0343" or
                             SYS_CODIGO_CLIENTE="0359" or
                             SYS_CODIGO_CLIENTE="0370" or
                             SYS_CODIGO_CLIENTE="0373" or
                             SYS_CODIGO_CLIENTE="0380" or
                             SYS_CODIGO_CLIENTE="0388" or
                             SYS_CODIGO_CLIENTE="0390" or
                             SYS_CODIGO_CLIENTE="0392" or
                             SYS_CODIGO_CLIENTE="0404" or
                             SYS_CODIGO_CLIENTE="0427" or
                             SYS_CODIGO_CLIENTE="0431" 
                             Then UTILIZA_EMAIL = "S"
                          EndIf   
                  EndIf
            
                  If TABELA[ii]="P_PEDIDO" 
                     Then Switch
                            Case SYS_CODIGO_CLIENTE = "0222" Or
                                 SYS_CODIGO_CLIENTE = "0232"  :
                                 UTILIZA_EMAIL = "S"
                            Case SYS_CODIGO_CLIENTE = "0227"  :
                                 UTILIZA_EMAIL = "D"
                          EndSwitch      
                  EndIf
                  
                  If TABELA[ii]="P_TROCA" 
                     Then If SYS_CODIGO_CLIENTE = "0278"
                             Then UTILIZA_EMAIL = "S"
                          EndIf    
                  EndIf
                  [Utiliza_Email] = UTILIZA_EMAIL 
                EndScan
                Do_it!
                ClearAll     
        EndIf   
        
        {Tools} {Copy} {JustFamily} TypeIn "\\Base\\Sistemas\\Vendas\\"+TABELA[ii] Enter TypeIn TABELA[ii]Enter {Replace} 
  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   = "CHEQREC"
DATAM_FECHAMES = ""
DATAM_EXECUTA  = "DATAM_SETDIR"
Play "\\Sistemas\\Cadastro\\EXEC_DAT" 

DATAM_ROTINA   = "PRODUCAO"
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 = ""
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
