;** ACNTFORN *******************************************************************
;*  Acerto de itens da nota conforme fornprod                                  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 27/05/2019 por Kamila Gomes            
;Ultima Alteracao:   /  /     por                          
;Motivo Alteracao: 

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

;NÆo est  sendo verificado FECHAMES 

If IsTable("NotaEC") And IsTable("NotaEI") And IsTable("FornProd") 
   Then View "FornProd"
        View "NotaEI"
        CoEdit "NotaEC"
        Scan
          Barra(NRecords("NotaEC"), RecNo())
          Aguarde("Aguarde, Processando 1/2"+BARRA_STRING)
          
          ;Configurar por empresa
          if sys_codigo_cliente="0232"  
             then
               If [Data de Entrada]<DateVal("01.05.2019")        
                  Then Loop
               EndIf
          endif
          
          If ([Codigo do Documento]<>"NF-E") Or
             ([Sistema Gerador]<>"IX")         
             Then Loop
          EndIf
          
          LANCTO = [Numero do Lancamento]
          
          Moveto "NotaEI"
          Moveto [Numero do Lancamento]
          Locate LANCTO 
          If RetVal
             Then While [Numero do Lancamento]=[NotaEC->Numero do Lancamento]
                    pega_aliq_estado = false
                    If Not IsBlank([Codigo do Item]) 
                       Then If (SubStr([Tipo Tributacao],2,2) <> "30") And
                               (SubStr([Tipo Tributacao],2,2) <> "40") And
                               (SubStr([Tipo Tributacao],2,2) <> "41") And
                               (SubStr([Tipo Tributacao],2,2) <> "50") And
                               (SubStr([Tipo Tributacao],2,2) <> "60") and
                               ([Valor do ICMS]<=0) And
                               ([ICMS_BC]>0)
                               then Moveto "FornProd"
                                    Moveto [Codigo]
                                    Locate [NotaEC->Codigo],[NotaEI->Codigo_Fornecedor],[NotaEI->Codigo do Item]
                                    If RetVal
                                       Then If [Aliquota de ICMS]>0 
                                               then Aliq_Icms = [Aliquota de ICMS]
                                               else pega_aliq_estado = True         
                                            EndIf
                                       else pega_aliq_estado = True    
                                    Endif
                                    
                                    if pega_aliq_estado
                                       Then GetRecord "\\Sistemas\\Vendas\\Estados" [NotaEC->UF] To UF_FORN
                                            if RetVal
                                               then Aliq_Icms = UF_FORN["Aliquota de ICMS"]
                                            EndIf
                                            
                                            If SubStr([NotaEI->Tipo Tributacao],2,2) = "00" Or
                                               SubStr([NotaEI->Tipo Tributacao],2,2) = "10" Or
                                               SubStr([NotaEI->Tipo Tributacao],2,2) = "20" Or
                                               SubStr([NotaEI->Tipo Tributacao],2,2) = "70" Or
                                               SubStr([NotaEI->Tipo Tributacao],2,2) = "90" 
                                               Then If SubStr([NotaEI->Tipo Tributacao],1,1)="1" Or
                                                       SubStr([NotaEI->Tipo Tributacao],1,1)="2" Or
                                                       SubStr([NotaEI->Tipo Tributacao],1,1)="8" Or
                                                       SubStr([NotaEI->Tipo Tributacao],1,1)="3"
                                                       Then 
                                                            Aliq_Icms = 4
                                                    EndIf
                                            EndIf
                                    EndIf
                            
                                    [NotaEI->Aliquota de ICMS]=Aliq_Icms
                                    [NotaEI->Valor do ICMS   ]=Round((([NotaEI->ICMS_BC]*Aliq_Icms)/100),2)
                            EndIf
                            
                    EndIf
                    Moveto "NotaEI"
                    Skip
                    If EOT() Then QuitLoop EndIf
                  EndWhile  
          EndIf
          Moveto "NotaEC"  
        EndScan
        Do_it!
        ClearAll
EndIf

EndProc ;Correcao_Cotacao()

;*******************************************************************************
;* Desenvolvido: 25/05/2018 por Bruno Carvalho                                 *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
SYS_VALOR()

ConfGeral("Processo para corrigir os itens da Nota de Entrada conforme FornProd//Deseja continuar com este processo?")
If Ok<>"S"
   Then Return
EndIf   

Correcao_NotaEI()

Release Procs Correcao_Cotacao
