01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:SIGAACD- Automação de Coleta de Dados
Rotina:

 CBRETEAN -ACDXFUN- Informa Dados das Etiquetas


02. PONTO DE ENTRADA


Descrição:Ponto de Entrada utilizado para informar os dados pertinentes a etiquetas, quando utilizadas etiquetas de código natural, dessa forma ele permite a criação da própria composição da quantidade por embalagem e interpretação de leitura do código de barras.
Eventos:

O Ponto de Entrada é chamado no momento da leitura de etiquetas quando não utilizado o parâmetro MV_ACDCB0. 

Programa Fonte:ACDV167.prg
OBSPonto de entrada genérico deve ser avaliado o comportamento em todas as rotinas que utilizam litura de código de barras
Parâmetros:

PARAMIXB[01] - Código da etiqueta lida.

Retorno aRet → Vetor {"Código do Produto","Quantidade(Embalagem normalmente analisado na nQE := SB1->B1_QE no processo padrão)","Lote","Data de Validade","Número de Série","Endereço Destino"}
Exemplo:

V167VLD

o Ponto de entrada somente é acionado nas leituras de etiqueta retornando as informações imputadas caso tenha alguma exceção por rotina limpar o array 


#Include "TOTVS.ch"

User Function CBRETEAN()
    Local cId   := AllTrim(PARAMIXB[1])         // CÓDIGO DO PRODUTO (B1_CODBAR)
    Local aRet  := {}                           // DADOS DA ETIQUETA
    Local aArea := {}                           // ESTADO DOS ARQUIVOS DE TRABALHO
    Local cPrd  := SubStr(cId, 1, Len(cId) -1) // CÓDIGO DO PRODUTO (B1_COD)
	Local nQE 	:= 1

    // ARMAZENA A ÁREA CORRENTE
    AAdd(aArea, GetArea())

    // ARET[1] == CÓDIGO DO PRODUTO
    AAdd(aRet, PadR(cPrd, TamSX3("B8_PRODUTO")[1]))

    // ARET[2] Calculo de quantidade por embalagem
    AAdd(aRet, nQE)

    // ARET[3] LOTE
    DbSelectArea("SB8")
    DbSetOrder(1)
    DbSeek(FwXFilial("SB8") + PadR(cPrd, TamSX3("B8_LOTECTL")[1]))
    AAdd(aRet, SB8->B8_LOTECTL)

    // ARET[4] DATA DE VALIDADE
    AAdd(aRet, SB8->B8_DTVALID)
    DbCloseArea() // RESTAURA O ESTADO FECHADO DO ARQUIVO SB8

    // ARET[5] NÚMERO DE SÉRIE
    AAdd(aRet, PadR("", TamSX3("BF_NUMSERI")[1]))

    // ARET[6] ENDEREÇO DESTINO
    AAdd(aRet, PadR("END", TamSX3("BE_LOCALIZ")[1]))

    RestArea(aArea[1])

   RETURN(aRet)