Histórico da Página
...
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 haja a necessidade de abrir os invólucros.
...
Nome | Tipo | Descrição |
---|---|---|
cEmbarque | Caractere | Código de montagem da conferência |
cTipUni | Caractere | Tipo do unitizador |
cIdUnit | Caractere | ID do unitizador |
cArmazem | Caractere | Armazém da conferência |
cEndereco | Caractere | Endereço da conferência |
05. RETORNO
Nome | Tipo | Descrição |
---|---|---|
cPrdOri | Caractere | Código do produto origem¹ |
cProduto | Caractere | Código do produto |
cLoteCtl | Caractere | Número de lote do produto |
cSubLote | Caractere | Número de sublote do produto |
nQtConf | Numérico | Quantidade conferida |
¹ Quando não for um produto componente, é o próprio código do produto.
Informações | ||
---|---|---|
| ||
|
06. VERSÕES
Protheus 12.1.17 e 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
...
language | cpp |
---|---|
title | Exemplo |
linenumbers | true |
collapse | true |
...
------
#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
------
Templatedocumentos |
---|
HTML |
---|
<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> |