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:


#Include "TOTVS.CH"
 
User Function CBRETEAN()
    Local cId   := Padr(PARAMIXB[1], TAMSX3("B1_CODBAR")[1]) // CÓDIGO DO PRODUTO (B1_CODBAR)
    Local aRet  := {}                                        // DADOS DA ETIQUETA
    Local aArea := {}                                        // ESTADO DOS ARQUIVOS DE TRABALHO
    Local cPrd  := ''                                        // CÓDIGO DO PRODUTO (B1_COD)
    Local nQE   := 1
 
    // ARMAZENA A ÁREA CORRENTE
    AAdd(aArea, GetArea()) 
 

    dbselectarea('SB1')
    dbsetorder(5) // B1_FILIAL+B1_CODBAR
    dbseek(xFilial("SB1")+cId)
    AAdd(aRet, PadR(B1_COD, TamSX3("B1_COD")[1]))
    cPrd := B1_COD
    // 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("ACD001", TamSX3("BE_LOCALIZ")[1]))
 
    RestArea(aArea[1])
 
   RETURN(aRet)