Árvore de páginas

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

NomeTipoDescriçã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

NomeTipoObrigatórioDefaultObservação
aEtiquetaArraySimNão

Array com dados da etiqueta, 

05. EXEMPLO DE UTILIZAÇÃO

ACD170VD
/*/{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