01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de :

Linha Protheus

Segmento:

Logística

Módulo:

TOTVS WMS - Linha Protheus - WMS Protheus (SIGAWMS)

Função:distribution.convergencia.pedido.venda.classe - Classes/métodos da Convergência do Pedido de Venda.
País:Todos Países
Ticket:

23784715

Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-17682

02. DESCRIÇÃO

Este Ponto de Entrada permite realizar no momento da finalização da separação do WMS SaaS a manipulação dos registros liberados na SC9 e Convergência DBY , bem como validação  Este ponto de entrada será acionado antes do processamento da atualização das quantidade/lotes separados pelo processo padrão.

03. LOCALIZAÇÃO

Localizado antes do processamento da atualização das quantidade/lotes separados pelo processo padrão.

04. PARÂMETROS

Nome

Tipo

Descrição

aFinalizadosArrayArray com os dados da finalização da convergência dos pedidos de venda (item, produto, lote, quantidade, sequência, tipoEstoque).
oObjetoObjetoObjeto contendo as informações da classe WMSSaasPedidoVenda.

05. RETORNO

Nome

Tipo

Descrição

aRetPE[1]LógicoSe o retorno for .T. irá prosseguir para a continuidade do processamento do produto padrão. Se o retorno for .F. não irá prosseguir o processamento e irá apresentar ao usuário a mensagem de consistência com o problema encontrado.
aRetPE[2]CaracterMensagem de sucesso ou mensagem do erro encontrado (caso o retorna acima seja .F.).

06. VERSÕES

Protheus 12.1.2410 ou superiores.

07. OBSERVAÇÃO

Não se aplica.

08. EXEMPLO

------

User Function WMSFIMPV()

Local aFinalizados := ParamIxb[1]
Local oObjeto      := ParamIxb[2]
Local lRet         := .T.
Local cAliasSC9    := GetNextAlias()
Local lDelSC9      := .F.
Local aARREsp      := {}
Local itemFinalizado := 1
Local itemEsp        := 1
Local aSequenciasAlteradas   := {}

conout("CONOUT WMSFIMPV - Inicio")

For itemFinalizado := 1 to Len(aFinalizados)
    cItem    := aFinalizados[itemFinalizado]['item']
    cProduto := aFinalizados[itemFinalizado]['produto']
    cLote    := aFinalizados[itemFinalizado]['lote']
    nQtde    := aFinalizados[itemFinalizado]['quantidade']
    cSequenc := aFinalizados[itemFinalizado]['sequencia']
    cTpEstoq := aFinalizados[itemFinalizado]['tipoEstoque']
    cPedido  := oObjeto:numeroDocumento

    BeginSql Alias cAliasSC9
        SELECT SC9.C9_LOTECTL,
                SC9.C9_LOCAL,
                SC9.C9_NUMLOTE,
                SC9.C9_QTDLIB
        FROM %Table:SC9% SC9
        WHERE SC9.C9_FILIAL = %xFilial:SC9%
        AND SC9.C9_PEDIDO = %Exp:cPedido%
        AND SC9.C9_ITEM = %Exp:cItem%
        AND SC9.C9_PRODUTO = %Exp:cProduto%
        AND SC9.C9_SEQUEN = %Exp:cSequenc%            
        AND SC9.%NotDel%
    EndSql
    dbSelectArea(cAliasSC9)
    dbGoTop()
    if (cAliasSC9)->(Eof())
        (cAliasSC9)->(DbCloseArea())
        return {.F., 'Não foi possível localizar o registro relacionado ao pedido '+Alltrim(cPedido)+;
                                '| Item: '+Alltrim(cItem)+;
                                '| Produto: '+Alltrim(cProduto)} 
    endif

Next itemFinalizado


(cAliasSC9)->(DbCloseArea())


RestArea(aAreaSC6)
RestArea(aAreaSC9)

Return { lRet, "Processamento ok"}