01. DADOS GERAIS
Produto: | TOTVS Logística WMS
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Logística |
Módulo: | TOTVS WMS - Linha Protheus - WMS Protheus (SIGAWMS) |
Função: | WMSDTRCESTOQUEENDEREÇO (METHOD UpdSaldo) |
País: | Todos Países |
Ticket: | 14545124 |
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-14221 |
02. DESCRIÇÃO
Este Ponto de Entrada permite preencher campos customizados na tabela D14, após atualização de saldo.
03. LOCALIZAÇÃO
Localizado na rotina WMSDTRCESTOQUEENDEREÇO (METHOD UpdSaldo).
04. PARÂMETROS
Nome | Tipo | Descrição |
---|---|---|
cTipo | Caractere | Tipo de movimento gerado (499 - Entrada / 999 - Saída). |
lEstoque | Lógico | Considerar quantidade em estoque. |
lEntprev | Lógico | Considerar quantidade de entrada prevista. |
lSaiprev | Lógico | Considerar quantidade de saída prevista. |
lEmpenho | Lógico | Considerar quantidade empenhada. |
lBloqueio | Lógico | Considerar quantidade bloqueada. |
lEmpPrev | Lógico | Considerar quantidade empenho previsto. |
self:nquant | Objeto | Objeto com dados da quantidade do produto (Tabela D14) |
nQtd2UM | Numérico | Unidade de medida a se considerada(1 - Primeira unidade / 2 - Segunda unidade) |
Self:oEndereco | Objeto | Objeto com dados do endereço do produto (Tabela SBF) |
Self:oProdLote | Objeto | Objeto com dados do lote do produto (Tabela SB8) |
05. RETORNO
Não se aplica.
06. VERSÕES
Protheus 12.1.17 ou superiores.
07. OBSERVAÇÃO
Não se aplica.
08. EXEMPLO
------
#
#INCLUDE 'TOTVS.CH'
/*/{Protheus.doc} WMSATD14
Ponto de entrada após a atualização do saldo no D14
@type function
@version V.12.1.27
@author Reinaldo Dias
@since 16/06/2022
/*/
User Function WMSATD14() //{cTipo,lEstoque,lEntPrev,lSaiPrev,lEmpenho,lBloqueio,lEmpPrev,Self:nQuant,nQtd2UM,Self:oEndereco,Self:oProdLote}
Local aArea := { GetArea(), SBE->(GetArea()) }
Local cTipo := PARAMIXB[1]
Local lEstoque := PARAMIXB[2]
Local lEntPrev := PARAMIXB[3]
Local lSaiPrev := PARAMIXB[4]
Local lEmpenho := PARAMIXB[5]
Local lBloqueio := PARAMIXB[6]
Local lEmpPrev := PARAMIXB[7]
Local nQuant := PARAMIXB[8]
Local nQtd2UM := PARAMIXB[9]
Local oEndereco := PARAMIXB[10]
Local oProdLote := PARAMIXB[11]
If (D14->D14_QTDEST > 0 .Or. D14->D14_QTDEPR > 0 .Or. D14->D14_QTDSPR > 0 .Or. D14->D14_QTDEMP > 0 .Or. D14->D14_QTDPEM > 0 .Or. D14->D14_QTDBLQ > 0)
SBE->(DBSetOrder(1))//BE_FILIAL+BE_LOCAL+BE_LOCALIZ+BE_ESTFIS
If SBE->(DBSeek(xFilial("SBE")+D14->D14_LOCAL+D14->D14_ENDER+D14->D14_ESTFIS)) .And. SBE->BE_STATUS == "1"
RecLock("SBE",.F.)
SBE->BE_STATUS := "2"
MsUnlock()
Endif
Endif
If FunName() == "QIEA215" .and. FWIsInCallStack ("MakeArmaz") .and. D14->(!Eof()) .and. cTipo == "499" .and. lEstoque .and. !lEntPrev .and. lSaiPrev .and. D14->D14_LOCAL <> "98" .and. Alltrim(D14->D14_ENDER) $ "R010101|R010102"
RecLock("D14",.F.)
D14->D14_QTDEPR += nQuant
D14->D14_QTDEP2 += nQtd2UM
MsUnlock()
Endif
AEval(aArea, {|area| RestArea(area)})
Return Nil
------