CONTEÚDO


01. VISÃO GERAL

Nesta página iremos documentar algumas informações importantes sobre a funcionalidade da rotina MATA340 - Inventário.

Quando a rotina estiver sendo processada, algumas checagens serão realizadas e caso alguma inconsistência seja detectada, ao final do processamento, será apresentado o relatório Itens Não Inventariados.


Os exemplos utilizados nesta documentação são meramente ilustrativos e a responsabilidade pela correta configuração do sistema é do cliente.

02. INCONSISTÊNCIA

02.01. ITENS EMPENHADOS / RESERVADOS NO ARQUIVO SB2/SB8/SBF

A inconsistência Itens empenhados / reservados no arquivo SB2/SB8/SBF será apresentada caso a quantidade empenhada ou reservada seja maior do que a quantidade inventariada.

Para a correta analise dessa inconsistência, deverá ser feito a verificação da configuração do produto, ou seja, se controla rastreabilidade por lote e/ou endereço.

Caso o produto não tenha rastreabilidade ativada por lote e endereço, a quantidade reservada será analisada na tabela SB2 - Saldos Físico e Financeiro.

Caso o produto tenha somente a rastreabilidade por lote ativada, a quantidade empenhada será analisada na tabela SB8 - Saldos por Lote.

Caso o produto tenha a rastreabilidade ativada por lote e endereço ou somente por endereço, a quantidade empenhada será analisada na tabela SBF - Saldos por Endereço.


Exemplo:



03. LISTA ATUAL DE INCONSISTENCIAS

04. EXEMPLO DE UTILIZAÇÃO NA EXCLUSÃO

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC  User Function AltProjImob()  User Function ExcProjImob() User Function ExcProjImob()

User Function ExcProjImob()
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
Local cCodPrj:='0000000000'
Local cCodRev:='0001'

If __oModelAut == Nil //somente uma unica vez carrega o modelo ATFA430
__oModelAut := FWLoadModel('ATFA430')
EndIf

nOpcAuto := 5 //3 - Inclusão | 4 - Alteração | 5 - Exclusão

__oModelAut:SetOperation(nOpcAuto) // 3 - Inclusão | 4 - Alteração | 5 - Exclusão
__oModelAut:Activate() //ativa modelo

DBSelectArea("FNB")
FNB->(DBSetOrder(1)) 
DbSeek( xFilial("FNB") + cCodPrj + cCodRev)

If __oModelAut:VldData() //validacao dos dados pelo modelo
    __oModelAut:CommitData() //gravacao dos dados
Else
    aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData

    //laco para gravar em string cLog conteudo do array aLog
    For nX := 1 to Len(aLog)
        If !Empty(aLog[nX])
            cLog += Alltrim(aLog[nX]) + CRLF
        EndIf
    Next nX

    lMsErroAuto := .T. //seta variavel private como erro
    AutoGRLog(cLog) //grava log para exibir com funcao mostraerro
    mostraerro()
    lRet := .F. //retorna false                                 
EndIf

__oModelAut:DeActivate() //desativa modelo
    
Return( lRet )

05. ASSUNTOS RELACIONADOS