01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | ACD - Automação Coleta de Dados |
Função: | ACDV170 - Movimentação Interna de Produtos ACDV176 - Movimentação Interna de Produtos |
02. DESCRIÇÃO
Este ponto de entrada é chamado na função de validação da etiqueta ao desfazer a separação dos produtos, para manipular dados do array aEtiqueta.
Neste ponto de entrada, além de manipulação do array, é possível efetuar uma validação adicional, retornando o array vazio, bloqueando assim o usuário de continuar com o processo.
Variáveis disponíveis para utilização
nQtdLida - quantidade já lida
cVolume - código do volume
cLoteNew - código lote
cSLoteNew - código sub-lote
03. PARÂMETROS
Nome | Tipo | Descrição |
---|---|---|
ParamIXB[1] | Array | 01 - Código do produto 02 - Quantidade 03 - Código do usuário ( CB0_USUARI ) 04 - NF entrada ( CB0_NFENT ) 05 - Série da NF entrada ( CB0_SERIEE ) 06 - Código do fornecedor 07 - Loja do fornecedor 08 - Pedido de compra ( CB0_PEDCOM ) 09 - Localização ( CB0_LOCALI ) 10 - Almoxarifado ( CB0_LOCAL ) 11 - OP ( CB0_OP ) 12 - Número de sequência ( CB0_NUMSEQ ) 13 - NF Saída ( CB0_NFSAI ) 14 - Série da NF saída ( CB0_SERIES ) 15 - Código da etiqueta do cliente ( CB0_CODET2 ) 16 - Lote 17 - Sub-lote 18 - Data de validade ( CB0_DTVLD ) 19 - Centro de custo ( CB0_CC ) 20 - Armazém original ( CB0_LOCORI ) 21 - Código do pallet ( CB0_PALLET ) 22 - OP destino ( CB0_OPREQ ) 23 - Número de série ( CB0_NUMSER ) 24 - Origem ( CB0_ORIGEM ) 25 - Item NF de entrada ( CB0_ITNFE ) |
04. RETORNO
Nome | Tipo | Obrigatório | Default | Observação |
---|---|---|---|---|
aEtiqueta | Array | Sim | Não | Array com dados da etiqueta, |
05. EXEMPLO DE UTILIZAÇÃO
/*/{Protheus.doc} User Function ACD170VD Manipular array aEtiqueta @type Function @author TOTVS /*/ User Function ACD170VD() Local aArea := GetArea() Local aAreaSA2 := SA2->( GetArea() ) Local aEtq := PARAMIXB // validação do cliente // validação do cliente If !Empty( aEtq[ 06 ] ) .And. !Empty( aEtq[ 07 ] ) SA2->( DbSetOrder( 1 ) ) If SA2->( DbSeek( xFilial( "SA2" ) + aEtq[ 06 ] + aEtq[ 07 ] ) If SA2->A2_MSBLQL == "1" // bloqueado VtAlert( "Fornecedor " + aEtq[ 06 ] + "/" + aEtq[ 07 ] + " bloqueado!" , "ACD170VD", .T., 4000 ) aEtq := {} Endif Endif Endif RestArea( aAreaSA2 ) RestArea( aArea ) Return aEtq