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>