Pular para o conteúdo principal

CD_HISTSAILEITOR — Histórico de Saída com Leitor

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba Produção com Leitor → campo "Saída com Leitor" Tabela / Coluna: PARMESTOQUE.CD_HISTSAILEITOR (INTEGER) Valor padrão: Nenhum (campo opcional)


Finalidade​

Define qual código de Histórico de Estoque será aplicado automaticamente nas movimentações de saída geradas pelo processo de leitura de código de barras (etiqueta de produção). O valor informado referencia a tabela HISTORICO e é passado como parâmetro para a procedure GERA_ESTOQUE dentro do script PROCESSA_ETIQUETA.

Quando o operador lê etiquetas no fluxo de "Produção com Leitor" e o sistema precisa registrar uma saída de estoque, o histórico cadastrado neste parâmetro é utilizado para classificar a movimentação.


Regras de validação (OnValidate)​

Ao informar ou alterar o código, o sistema (tabPARMESTOQUECD_HISTSAILEITORValidate) executa as seguintes verificações contra a tabela HISTORICO:

RegraCondiçãoMensagem de erro
Histórico deve existirCD_HISTORICO não encontrado"O Histório não está Cadastrado [TCB003]!"
Histórico deve estar ativoST_ATIVO = 'N'"O Histório não está Ativo [TCB003]!"
Histórico deve ser tipo EstoqueTP_HISTORICO <> 'E'"O Histório deve ser do Tipo Estoque [TCB003]!"

Se o campo for deixado em branco, o sistema limpa automaticamente a descrição exibida (DS_HISTSAILEITOR).


Pesquisa auxiliar (F9)​

O campo possui evento OnKeyDown que abre uma tela de pesquisa ao pressionar <F9>:

O que fazDetalhe
Abre pesquisa de históricosFiltra HISTORICO onde ST_ATIVO = 'S' e TP_HISTORICO = 'E' (tipo Estoque)
Colunas exibidasDescrição (DS_HISTORICO) e Código (CD_HISTORICO)
Ação ao selecionarPreenche o campo edtCD_HISTSAILEITOR com o código selecionado

Como o parâmetro é utilizado no PROCESSA_ETIQUETA​

O script PROCESSA_ETIQUETA lê o valor de CD_HISTSAILEITOR diretamente de PARMESTOQUE (junto com os demais parâmetros da aba "Produção com Leitor") e o utiliza em chamadas à procedure GERA_ESTOQUE para registrar a saída do local de origem:

execute procedure GERA_ESTOQUE (
:V_CD_EMPRESA, :V_CD_ITEM, :V_CD_TIPOSAILEITORSAI,
:V_CD_LOCSAILEITORSAI, :V_CD_OPERSAILEITORSAI, :V_CD_HISTSAILEITOR,
current_date, 'TF', :V_NR_ORDEMPRODUCAO,
:V_QT_ITEM, :V_VL_CUSTOTOTAL, ...
)

Esse padrão se repete em pelo menos 3 blocos distintos dentro do script (transferência entre locais, expedição com pedido, expedição com ordem de carregamento), sempre usando o mesmo histórico para a saída.


Parâmetros relacionados (Aba "Produção com Leitor")​

Todos configurados em MEQ001, aba Produção com Leitor:

ParâmetroFunção
CD_OPERSAILEITORSAIOperação de estoque para a saída (local de origem)
CD_OPERSAILEITORENTOperação de estoque para a entrada (local de destino)
CD_TIPOSAILEITORSAITipo de local de origem da saída
CD_TIPOSAILEITORENTTipo de local de destino da saída
CD_LOCSAILEITORSAILocal de origem da saída
CD_LOCSAILEITORENTLocal de destino da saída

O histórico CD_HISTSAILEITOR é aplicado na primeira movimentação (saída do local de câmara fria/origem). A segunda movimentação (entrada no local pré-carga/destino) não utiliza este parâmetro — recebe null como histórico.


Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoDescrição
TfrmMEQ001.edtCD_HISTSAILEITORKeyDownUMEQ001.pasAbre pesquisa de históricos ao pressionar <F9> no campo
TdmMEQ001.tabPARMESTOQUECD_HISTSAILEITORValidateUdmMEQ001.pasValida existência, status ativo e tipo Estoque do histórico informado

Referências SQL diretas ao campo​

ProcedureArquivoUso
PROCESSA_ETIQUETAPROCESSA_ETIQUETA.sqlLê CD_HISTSAILEITOR de PARMESTOQUE e passa para GERA_ESTOQUE ao registrar saídas

Candidatas por uso da tabela (sem referência direta ao campo)​

As demais procedures listadas abaixo utilizam a tabela PARMESTOQUE mas não fazem referência direta à coluna CD_HISTSAILEITOR. Não há impacto funcional direto comprovado para estas rotinas.


Simulação passo a passo​

Configurar o histórico de saída com leitor​

O que fazDetalhe
Campo editávelAceita código numérico inteiro
ExigeHistórico cadastrado, ativo e do tipo Estoque
RestriçãoObrigatório apenas se o módulo de "Produção com Leitor" for utilizado

Simulação passo a passo​

  1. Acesse a tela MEQ001 (Parâmetros de Estoque).
  2. Navegue até a aba Produção com Leitor.
  3. No campo Saída com Leitor (CD_HISTSAILEITOR), informe o código de um histórico de estoque (ex: 1).
  4. Ao sair do campo, o sistema valida:
    • O código existe na tabela HISTORICO?
    • O histórico está ativo (ST_ATIVO = 'S')?
    • O histórico é do tipo Estoque (TP_HISTORICO = 'E')?
  5. Se todas as validações passarem, a descrição do histórico é exibida ao lado.
  6. Caso contrário, uma mensagem de erro é apresentada e o campo permanece vazio.
  7. Para buscar um histórico, pressione <F9> no campo — uma pesquisa com históricos ativos do tipo Estoque será exibida.
  8. Selecione o histórico desejado e o código será preenchido automaticamente.
  9. Salve os parâmetros.

Resultado esperado: O código do histórico fica gravado em PARMESTOQUE.CD_HISTSAILEITOR. A partir desse momento, toda saída de estoque processada pelo leitor de código de barras (via PROCESSA_ETIQUETA) utilizará este histórico na movimentação de saída registrada por GERA_ESTOQUE.

Excecao / Importante: O histórico informado aqui é aplicado apenas na saída do local de origem. A entrada correspondente no local de destino (pré-carga) não utiliza este parâmetro — recebe null. Se o campo ficar vazio, a saída da etiqueta será registrada sem código de histórico.