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:
| Regra | Condição | Mensagem de erro |
|---|---|---|
| Histórico deve existir | CD_HISTORICO não encontrado | "O Histório não está Cadastrado [TCB003]!" |
| Histórico deve estar ativo | ST_ATIVO = 'N' | "O Histório não está Ativo [TCB003]!" |
| Histórico deve ser tipo Estoque | TP_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 faz | Detalhe |
|---|---|
| Abre pesquisa de históricos | Filtra HISTORICO onde ST_ATIVO = 'S' e TP_HISTORICO = 'E' (tipo Estoque) |
| Colunas exibidas | Descrição (DS_HISTORICO) e Código (CD_HISTORICO) |
| Ação ao selecionar | Preenche 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âmetro | Função |
|---|---|
CD_OPERSAILEITORSAI | Operação de estoque para a saída (local de origem) |
CD_OPERSAILEITORENT | Operação de estoque para a entrada (local de destino) |
CD_TIPOSAILEITORSAI | Tipo de local de origem da saída |
CD_TIPOSAILEITORENT | Tipo de local de destino da saída |
CD_LOCSAILEITORSAI | Local de origem da saída |
CD_LOCSAILEITORENT | Local 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
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmMEQ001.edtCD_HISTSAILEITORKeyDown | UMEQ001.pas | Abre pesquisa de históricos ao pressionar <F9> no campo |
TdmMEQ001.tabPARMESTOQUECD_HISTSAILEITORValidate | UdmMEQ001.pas | Valida existência, status ativo e tipo Estoque do histórico informado |
Referências SQL diretas ao campo
| Procedure | Arquivo | Uso |
|---|---|---|
PROCESSA_ETIQUETA | PROCESSA_ETIQUETA.sql | Lê 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 faz | Detalhe |
|---|---|
| Campo editável | Aceita código numérico inteiro |
| Exige | Histórico cadastrado, ativo e do tipo Estoque |
| Restrição | Obrigatório apenas se o módulo de "Produção com Leitor" for utilizado |
Simulação passo a passo
- Acesse a tela MEQ001 (Parâmetros de Estoque).
- Navegue até a aba Produção com Leitor.
- No campo Saída com Leitor (
CD_HISTSAILEITOR), informe o código de um histórico de estoque (ex:1). - 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')?
- O código existe na tabela
- Se todas as validações passarem, a descrição do histórico é exibida ao lado.
- Caso contrário, uma mensagem de erro é apresentada e o campo permanece vazio.
- Para buscar um histórico, pressione <F9> no campo — uma pesquisa com históricos ativos do tipo Estoque será exibida.
- Selecione o histórico desejado e o código será preenchido automaticamente.
- 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.