Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAWMS - Gestão de Armazenagem
Função:WMSV090 - Conferência do Recebimento (Coletor)
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :-


02. DESCRIÇÃO

Este Ponto de Entrada permite validar a quantidade na Conferência de Recebimento.

03. LOCALIZAÇÃO

Localizado na digitação da quantidade a ser conferida.

04. PARÂMETROS

NomeTipoDescrição
cConferenCaractereCódigo da conferência de recebimento
cProdutoCaractereProduto a ser conferido
cLoteCaractereLote a ser conferido
cSubloteCaractereSublote a ser conferido
nQuantNuméricoQuantidade a ser conferida
dDtValidadeDataData de validade do lote a ser conferido

05. RETORNO

Lógico - .T. ou .F.

06. VERSÕES

Protheus 12.1.17 ou superiores.

07. OBSERVAÇÃO

Todos os parâmetros são recebidos na User Function via PARAMIXB conforme consta em Execblock / Customização

08. EXEMPLO

------

#INCLUDE "PROTHEUS.CH"

User Function WV090VLQ()
Local aAreaAnt := GetArea()
Local lRet := .T.
Local cConferen := PARAMIXB[1]
Local cProduto := PARAMIXB[2]
Local cLote := PARAMIXB[3]
Local cSubLote := PARAMIXB[4]
Local nQuant := PARAMIXB[5]
Local cAliasQry := GetNextAlias()
Local cQuery := ""
Local aTamSX3 := {}

cQuery := "SELECT SUM(DCY_QTORIG) DCY_QTORIG,"
cQuery += " SUM(DCY_QTCONF) DCY_QTCONF"
cQuery += " FROM " + RetSqlName('DCY')
cQuery += " WHERE DCY_FILIAL = '"+xFilial('DCY')+"'"
cQuery += " AND DCY_EMBARQ = '"+cConferen+"'"
cQuery += " AND DCY_PROD = '"+cProduto+"'"
cQuery += " AND DCY_PRDORI = '"+cProduto+"'"
cQuery += " AND (DCY_LOTE = '"+cLote+"'"
cQuery += " OR DCY_LOTE = ' ')" // Pré-nota sem informar lote
cQuery += " AND (DCY_SUBLOT = '"+cSubLote+"'"
cQuery += " OR DCY_SUBLOT = ' ')"
cQuery += " AND D_E_L_E_T_ = ' '"
cQuery := ChangeQuery(cQuery)
DbUseArea(.T.,'TOPCONN',TcGenQry(,,cQuery),cAliasQry,.F.,.T.)

// Ajusta o tamanho dos campos no cursor
aTamSX3 := TamSx3('DCY_QTORIG')
TcSetField(cAliasQry,'DCY_QTORIG','N',aTamSX3[1],aTamSX3[2])
TcSetField(cAliasQry,'DCY_QTCONF','N',aTamSX3[1],aTamSX3[2])

If !(cAliasQry)->(Eof())
          If QtdComp((cAliasQry)→ DCY_QTORIG) <= 0
                 WmsMessage("Produto/lote nao pertence a conferencia!")
                 lRet := .F.
          ElseIf QtdComp((cAliasQry)->DCY_QTORIG) < QtdComp((cAliasQry)->DCY_QTCONF + nQuant)
                 WmsMessage("Quantidade informada mais a conferida ultrapassa o total do(s) documento(s)!")
                 lRet := .F.
          EndIf

        EndIf

RestArea(aAreaAnt)
Return lRet

------