;** AC_COT *********************************************************************
;*  Acerto de Cota‡Æo                                                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 25/05/2018 por Bruno Carvalho             
;Ultima Alteracao:   /  /     por                          
;Motivo Alteracao: 

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

;NÆo est  sendo verificado FECHAMES 

If IsTable("Cotacao") And IsTable("NotaEC") And IsTable("NotaEI") And IsTable("FornProd") 
   Then View "FornProd"
        View "Cotacao"
        View "NotaEI"
        CoEdit "NotaEC"
        Scan
          Barra(NRecords("NotaEC"), RecNo())
          Aguarde("Aguarde, Ajustando Cotacao "+BARRA_STRING)
          
          If ([Tipo de Operacao]<>"C" And [Tipo de Operacao]<>"A") Or 
             (SYS_CODIGO_CLIENTE="0052" And [Codigo da Empresa]="1000")
             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]
                    If Not IsBlank([Codigo do Item]) And [Tipo do Item]<>"C"
                       Then Atualiza_Cotacao=False

                            Moveto "Cotacao"
                            Moveto [Codigo do Item]
                            Locate [NotaEI->Codigo do Item],[NotaEC->Codigo]
                            If Not RetVal
                               Then End Down
                                    [Codigo do Item]=[NotaEI->Codigo do Item]
                                    [Codigo        ]=[NotaEC->Codigo        ]
                                    Atualiza_Cotacao=True
                               Else Switch
                                      Case [Numero do Lancamento]=[NotaEI->Numero do Lancamento]:
                                           Atualiza_Cotacao=True
                                      Case [NotaEC->Data de Entrada]>[Data de Compra]:
                                           Atualiza_Cotacao=True
                                      Case [NotaEC->Data de Entrada    ] =[Data de Compra] And
                                           [NotaEC->Numero do Documento]>=[Numero do Documento]:
                                           Atualiza_Cotacao=True
                                    EndSwitch
                            Endif
                            
                            If Atualiza_Cotacao
                               Then [Razao Social            ]=[NotaEC->Razao Social            ]
                                    [Data de Compra          ]=[NotaEC->Data de Entrada         ]
                                    [Numero do Documento     ]=[NotaEC->Numero do Documento     ] 
                                    [Tipo do Documento       ]=[NotaEC->Tipo do Documento       ]
                                    [Data de Emissao         ]=[NotaEC->Data de Emissao         ]
                                    [Quantidade              ]=[NotaEI->Quantidade              ] 
                                    [Unidade Entrada         ]=[NotaEI->Unidade Entrada         ]
                                    If [NotaEI->Valor Desconto Total]>0
                                       Then 
      [Valor Unitario  ]=([NotaEI->Preco Total]/[NotaEI->Quantidade])-([NotaEI->Valor Desconto Total]/[NotaEI->Quantidade])
                                       Else 
      [Valor Unitario  ]=[NotaEI->Preco Total]/[NotaEI->Quantidade]
                                    EndIf
                                    [Custo Medio Unitario    ]=[NotaEI->Custo Medio Unitario    ]
                                    [Unidade Interna         ]=[NotaEI->Unidade Interna         ]
                                    [Numero do Lancamento    ]=[NotaEI->Numero do Lancamento    ]
                                    [MVA                     ]=[NotaEI->MVA                     ]
                                    [ICMS UF_ORIGEM          ]=[NotaEI->ICMS UF_ORIGEM          ]
                                    [Tributacao de IPI       ]=[NotaEI->Tributacao de IPI       ]
                                    [Aliquota Reduzida BCIPI ]=[NotaEI->Aliquota Reduzida BCIPI ]
                                    [Aliquota de IPI         ]=[NotaEI->Aliquota de IPI         ]
                                    [Tributacao de ICMS      ]=[NotaEI->Tributacao de ICMS      ]
                                    [Aliquota Reduzida BCICMS]=[NotaEI->Aliquota Reduzida BCICMS]
                                    [Aliquota de ICMS        ]=[NotaEI->Aliquota de ICMS        ]
                                    [Fator de Conversao      ]=[NotaEI->Fator de Conversao      ]
                                    [Tipo Tributacao         ]=[NotaEI->Tipo Tributacao         ]
                                    [IPI_CST                 ]=[NotaEI->IPI_CST                 ]
                                    [CFO                     ]=[NotaEI->CFO                     ]
                                    UnLockRecord
                  
                                    Moveto "NotaEI"
                                    If Not IsBlank([Codigo_Fornecedor])
                                       Then Moveto "FornProd"
                                            Moveto [Codigo]
                                            Locate [NotaEC->Codigo],[NotaEI->Codigo_Fornecedor]
                                            If Not RetVal
                                               Then End Down
                                                    [Codigo           ]=[NotaEC->Codigo           ]
                                                    [Codigo_Fornecedor]=[NotaEI->Codigo_Fornecedor]
                                            Endif
                                            [Codigo do Item            ]=[NotaEI->Codigo do Item            ]
                                            [Descricao do Item         ]=[NotaEI->Descricao do Item         ]
                                            [Tributacao de IPI         ]=[NotaEI->Tributacao de IPI         ]
                                            [Aliquota Reduzida BCIPI   ]=[NotaEI->Aliquota Reduzida BCIPI   ]
                                            [Aliquota de IPI           ]=[NotaEI->Aliquota de IPI           ]
                                            [Tributacao de ICMS        ]=[NotaEI->Tributacao de ICMS        ]
                                            [Aliquota Reduzida BCICMS  ]=[NotaEI->Aliquota Reduzida BCICMS  ]
                                            [Aliquota de ICMS          ]=[NotaEI->Aliquota de ICMS          ]
                                            [CSOSN                     ]=[NotaEi->CSOSN                     ]
                                            [Fator de Conversao        ]=[NotaEI->Fator de Conversao        ]
                                            [Unidade Entrada           ]=[NotaEI->Unidade Entrada           ]
                                            [Numero do Lancamento      ]=[NotaEI->Numero do Lancamento      ]
                                            [MVA                       ]=[NotaEI->MVA                       ]
                                            [ICMS UF_ORIGEM            ]=[NotaEI->ICMS UF_ORIGEM            ]
                                            [Tipo Tributacao           ]=[NotaEI->Tipo Tributacao           ]
                                            [IPI_CST                   ]=[NotaEI->IPI_CST                   ]
                                            [CFO                       ]=[NotaEI->CFO                       ]
                                            [PIS_CST                   ]=[NotaEI->PIS_CST                   ]
                                            [PIS_Aliquota              ]=[NotaEI->PIS_Aliquota              ]
                                            [COFINS_CST                ]=[NotaEI->COFINS_CST                ]
                                            [COFINS_Aliquota           ]=[NotaEI->COFINS_Aliquota           ]
                                            UnLockRecord
                                    EndIf
                            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 cota‡Æo conforme Nota de Entrada//Deseja continuar com este processo?")
If Ok<>"S"
   Then Return
EndIf   

Correcao_Cotacao()

Release Procs Correcao_Cotacao
