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