01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

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


02. DESCRIÇÃO

Este Ponto de Entrada permite que a operação de um armazém receba os produtos unitizados e realize o processo de conferência do recebimento, sem que haja a necessidade de abrir os invólucros.

03. LOCALIZAÇÃO

Localizado logo após a leitura e a validação do tipo e identificador do unitizador.

04. PARÂMETROS

NomeTipoDescrição
cEmbarqueCaractereCódigo de montagem da conferência
cTipUniCaractereTipo do unitizador
cIdUnitCaractereID do unitizador
cArmazemCaractereArmazém da conferência
cEnderecoCaractereEndereço da conferência

05. RETORNO

NomeTipoDescrição
cPrdOriCaractereCódigo do produto origem¹
cProdutoCaractereCódigo do produto
cLoteCtlCaractereNúmero de lote do produto
cSubLoteCaractereNúmero de sublote do produto
nQtConfNuméricoQuantidade conferida

¹ Quando não for um produto componente, é o próprio código do produto.

  • Os valores retornados pelo PE devem possuir o mesmo tamanho dos campos correspondentes na tabela DCZ.
  • Caso contrário, poderão ser gerados error.logs ou inconsistências na base de dados.

06. VERSÕES

12.1.17 e 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 WV090UNI()
Local cEmbarque := PARAMIXB[1]
Local cTipUni := PARAMIXB[2]
Local cIdUnit := PARAMIXB[3]
Local cArmazem := PARAMIXB[4]
Local cEndereco := PARAMIXB[5]
Local cSeekZZZ := ""
Local nTamPrd := TamSX3("DCZ_PROD" )[1]
Local nTamLot := TamSX3("DCZ_LOTE" )[1]
Local nTamSub := TamSX3("DCZ_SUBLOT")[1]
Local aItensUni := {}
Local aItem := {}

// Busca o documento que faz parte da conferência
DCX→ (DbSetOrder(1))
If DCX→ (DbSeek(xFilial("DCX")+cEmbarque))
           cSeekZZZ := xFilial("ZZZ")+DCX->DCX_DOC+DCX->DCX_SERIE+DCX->DCX_FORNEC+DCX->DCX_LOJA+cIdUnit
          // Busca na tabela específica todos os itens que fazem parte daquele documento + etiqueta
          ZZZ→ (DbSetOrder(1))
         ZZZ→ (DbSeek(cSeekZZZ))

 While !ZZZ→ (Eof()) .And. ZZZ->ZZZ_FILIAL+ZZZ->ZZZ_DOC+ZZZ->ZZZ_SERIE+ZZZ->ZZZ_FORNEC+ZZZ->ZZZ_LOJA+ZZZ->ZZZ_IDUNIT == cSeekZZZ
         // Adiciona o item relacionado à etiqueta no array auxiliar
         AAdd(aItem,PadR(ZZZ->ZZZ_PRDORI ,nTamPrd))
         AAdd(aItem,PadR(ZZZ->ZZZ_PRODUT ,nTamPrd))
         AAdd(aItem,PadR(ZZZ->ZZZ_LOTECTL,nTamLot))
         AAdd(aItem,PadR(ZZZ->ZZZ_SUBLOT ,nTamSub))
         AAdd(aItem,ZZZ->ZZZ_QUANT)
        // Adiciona o item no array principal de retorno
        AAdd(aItensUni,aItem)
        ZZZ→ (DbSkip())
EndDo

EndIf

Return aItensUni

------



<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>