CD_OPERSAILEITORSAI — Operação de Saída para Produção com Leitor
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização na UI: Aba Produção com Leitor → Campo "Saída com Leitor" Tabela / Coluna:
PARMESTOQUE.CD_OPERSAILEITORSAI(INTEGER) Componente:edtCD_OPERSAILEITORSAI(TDBEdit) Valor padrão:null(não obrigatório)
Finalidade
Define qual operação de estoque de saída será utilizada quando o sistema processa etiquetas de código de barras via leitor, no fluxo de produção com leitor. O valor informado aqui é repassado à procedure GERA_ESTOQUE para gerar o movimento de saída do produto do local de origem (ex.: câmara fria) durante o processamento de etiquetas.
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_OPERSAILEITORSAI | PARMESTOQUE | INTEGER | Código da operação de estoque de saída |
DS_OPERSAILEITORSAI | (lookup) | STRING(60) | Descrição da operação — obtida de OPERACAO.DS_OPERACAO |
Os demais parâmetros do grupo "Produção com Leitor" que atuam em conjunto com este campo são:
| Parâmetro | Descrição |
|---|---|
CD_OPERSAILEITORENT | Operação de entrada no local pré-carga (após a saída) |
CD_HISTSAILEITOR | Histórico do movimento de saída com leitor |
CD_TIPOSAILEITORSAI | Tipo de local de saída (origem) |
CD_LOCSAILEITORSAI | Local de saída (origem — ex.: câmara fria) |
CD_TIPOSAILEITORENT | Tipo de local de entrada (destino — pré-carga) |
CD_LOCSAILEITORENT | Local de entrada (destino — pré-carga) |
Validações aplicadas
Ao informar ou alterar o código, o sistema executa as seguintes validações:
- Existência: O código deve corresponder a um registro existente em
OPERACAO.CD_OPERACAO. - Ativo: A operação deve estar ativa (
OPERACAO.ST_ATIVO = 'S'). Caso contrário, exibe: "A Operação de Estoque não está Ativa [TEQ001]!" - Tipo Saída: A operação deve ser do tipo Saída (
OPERACAO.TP_OPERACAO = 'S'). Caso contrário, exibe: "A Operação de Estoque deve ser de Saída [TEQ001]!"
Se o campo for deixado vazio, a descrição é limpa automaticamente.
Opções disponíveis
O campo aceita qualquer código de operação de estoque de saída cadastrado na tabela OPERACAO (tela TEQ001) e ativo.
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campo numérico editável na aba "Produção com Leitor" |
| Exige | Operação de estoque existente, ativa e do tipo Saída em OPERACAO |
| Restrição | Não aceita operação do tipo Entrada (TP_OPERACAO = 'E') nem operação inativa |
| Pesquisa | Pressione <F9> para buscar operações ativas do tipo Saída |
Simulação passo a passo
- Acesse a tela MEQ001 (Parâmetros de Estoque).
- Navegue até a aba Produção com Leitor.
- Localize o campo Saída com Leitor.
- Digite o código de uma operação de saída (ex.:
5) ou pressione<F9>para abrir a pesquisa. - Na janela de pesquisa, selecione uma operação ativa do tipo Saída.
- O sistema preenche automaticamente a descrição da operação no campo ao lado.
- Salve o registro.
Resultado esperado: O código da operação é gravado em PARMESTOQUE.CD_OPERSAILEITORSAI e passa a ser utilizado pelo script PROCESSA_ETIQUETA ao gerar movimentos de saída de estoque via leitor de código de barras.
Excecao / Importante: Se a operação informada estiver inativa ou for do tipo Entrada, o sistema bloqueia a gravação com mensagem de erro. Consulte a tela TEQ001 para verificar ou cadastrar operações de estoque.
Onde é utilizado
Rotina de processamento de etiquetas (PROCESSA_ETIQUETA)
O valor configurado neste parâmetro é lido pela procedure PROCESSA_ETIQUETA (arquivo Scripts/PROCESSA_ETIQUETA.sql) no trecho:
select P.CD_OPERSAILEITORSAI, ...
from PARMESTOQUE P
where P.CD_EMPRESA = :I_CD_EMPRESA
into :V_CD_OPERSAILEITORSAI, ...;
Em seguida, é passado como parâmetro para GERA_ESTOQUE ao executar a saída do local de origem (ex.: câmara fria) durante o fluxo de transferência por etiqueta:
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, ...);
Este movimento de saída ocorre antes da entrada no local de destino (pré-carga), configurada pelo parâmetro irmão CD_OPERSAILEITORENT.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TfrmMEQ001.edtCD_OPERSAILEITORSAIKeyDown | UMEQ001.pas | 1391 | Trata <F9> para pesquisa de operações de saída ativas |
TdmMEQ001.tabPARMESTOQUECD_OPERSAILEITORSAIValidate | UdmMEQ001.pas | 961 | Valida existência, ativo e tipo Saída; preenche descrição |
Referências SQL diretas ao campo em Scripts/
| Procedure | Arquivo | Linha | Uso |
|---|---|---|---|
PROCESSA_ETIQUETA | Scripts/PROCESSA_ETIQUETA.sql | 62 | Lê CD_OPERSAILEITORSAI de PARMESTOQUE |
PROCESSA_ETIQUETA | Scripts/PROCESSA_ETIQUETA.sql | 238, 375, 460 | Passa o valor para GERA_ESTOQUE como operação de saída |
Candidatas por uso da tabela
Diversas procedures referenciam a tabela PARMESTOQUE mas não citam o campo CD_OPERSAILEITORSAI diretamente. Não há impacto funcional direto identificado nessas rotinas para este parâmetro específico.