Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


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

Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Ponto-de-Entrada: CBRETEAN - Informa Dados das Etiquetas

...


Descrição:Ponto

...

de

...

Entrada

...

utilizado

...

para

...

informar

...

os

...

dados

...

pertinentes

...

a

...

etiquetas,

...

quando

...

utilizadas

...

etiquetas

...

de

...

código

...

Programa Fonte
ACDXFUN
Sintaxe

CBRETEAN - Informa Dados das Etiquetas ( [ cId ] ) --> aRet

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 


Bloco de código
linenumberstrue
#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)

    // 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)





Image AddedImage AddedImage Added

...