Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

Solucoes_totvs
SolucaoTOTVS Logística WMS

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoLogí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

NomeTipoDescrição

cTipo

CaracterCaractere

Tipo de movimento gerado (499 - Entrada / 999 - Saída).

lEstoqueLógicoConsiderar quantidade em estoque.
lEntprevLógicoConsiderar quantidade de entrada prevista.
lSaiprevLógicoConsiderar quantidade de saída prevista.
lEmpenhoLógicoConsiderar quantidade empenhada.
lBloqueioLógicoConsiderar quantidade bloqueada.
lEmpPrevLógicoConsiderar quantidade empenho previsto.
self:nquantObjetoObjeto com  dados da quantidade do produto (Tabela D14)
nQtd2UMNuméricoUnidade de medida a se considerada(1 - Primeira unidade / 2 - Segunda unidade)
Self:oEnderecoObjetoObjeto com  dados do endereço do produto (Tabela SBF)
Self:oProdLoteObjetoObjeto 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

...