CD_OPERACERTOENT — Operação de Entrada para Acerto de Estoque
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba
&Requisição / Recebimento→ Grupo Acerto de Quantidade e Custo → campo "Operação de Entrada" Tabela:PARMESTOQUE.CD_OPERACERTOENTTipo:DOM_INTEGERValor padrão: Nenhum (campo fica em branco até que o usuário informe)
Finalidade
Define a operação de estoque do tipo Entrada utilizada automaticamente quando o sistema realiza um acerto (ajuste) de inventário e a diferença encontrada é positiva (estoque físico > estoque contábil). Ou seja, a quantidade apurada na contagem é maior do que a registrada no sistema, e o parâmetro indica qual operação deve ser usada para registrar essa entrada adicional no movimento de estoque (MOVESTOQUE).
O parâmetro complementar para a saída (quando a diferença é negativa) é CD_OPERACERTOSAI (configurado na mesma tela e grupo).
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_OPERACERTOENT | PARMESTOQUE | DOM_INTEGER | Código da operação de estoque (FK → OPERACAO.CD_OPERACAO) |
DS_OPERACERTOENT | (calculado) | String(60) | Descrição da operação, trazida por JOIN com OPERACAO |
O campo DS_OPERACERTOENT não é persistido — é exibido na tela por um TDBEdit somente leitura (edtDS_OPERACERTOENT) e preenchido automaticamente pela validação.
Telas impactadas
| Tela | Uso |
|---|---|
| MEQ001 (Parâmetros de Estoque) | Cadastro/edição do parâmetro |
| MEQ014 (Acerto de Estoque — Leitor de Coleta) | Lê CD_OPERACERTOENT via consulta em Busca_Parametros e armazena em iCD_OPERDEV para uso no acerto |
Opções disponíveis
Este parâmetro aceita qualquer código de operação de estoque cadastrado na tela TEQ001, desde que a operação atenda a três critérios simultâneos:
| Critério | Campo em OPERACAO | Valor exigido | Significado |
|---|---|---|---|
| Operação ativa | ST_ATIVO | 'S' | A operação não pode estar desativada |
| Tipo Entrada | TP_OPERACAO | 'E' | Deve ser uma operação de entrada (não saída) |
| Sem custo médio | ST_PRECOMEDIO | 'N' | Não pode ser uma operação que recalcula custo médio automaticamente |
Se qualquer uma dessas condições não for atendida, o sistema exibe uma mensagem de erro e não permite a gravação.
Operação válida informada
| O que faz | Detalhe |
|---|---|
| Campo editável | Digite o código diretamente ou pressione <F9> para pesquisar |
| Validação | Sistema consulta OPERACAO e rejeita se: operação não existe, está inativa (ST_ATIVO = 'N'), é de saída (TP_OPERACAO = 'S') ou usa custo médio (ST_PRECOMEDIO = 'S') |
| Exibe descrição | Após validação bem-sucedida, DS_OPERACERTOENT é preenchido automaticamente |
Simulação passo a passo
- Acesse MEQ001 (Parâmetros de Estoque).
- Navegue até a aba Requisição / Recebimento.
- Localize o grupo Acerto de Quantidade e Custo.
- No campo Operação de Entrada, digite o código de uma operação de entrada ativa (ex.:
5). - Saia do campo (pressione
Tabou clique em outro controle). - O sistema executa a validação: consulta a tabela
OPERACAO, verifica se está ativa, se é do tipo Entrada e se não utiliza custo médio. - Se tudo estiver correto, a descrição da operação aparece ao lado (ex.: "Entrada por Acerto de Inventário").
Resultado esperado: O campo CD_OPERACERTOENT fica gravado com o código informado e a descrição é exibida. Ao executar um acerto de inventário com diferença positiva, o sistema usará essa operação para gerar o registro em MOVESTOQUE.
Excecao / Importante: Se a operação informada estiver inativa, for do tipo Saída ou utilizar custo médio, o sistema exibe uma das mensagens:
- "A Operação de Estoque não está Ativa [TEQ001]!"
- "A Operação de Estoque deve ser de Entrada [TEQ001]!"
- "A Operação de Estoque não pode ser ao Custo Médio [TEQ001]!"
- "A Operação de Estoque não está Cadastrada [TEQ001]!"
Pesquisa via <F9>
| O que faz | Detalhe |
|---|---|
| Abre pesquisa genérica | Ao pressionar <F9> no campo, abre uma janela de pesquisa intitulada "Selecione a Operação de Estoque" |
| Filtro aplicado | Mostra apenas operações com ST_ATIVO = 'S', TP_OPERACAO = 'E', ST_PRECOMEDIO = 'N' |
| Colunas exibidas | Descrição (DS_OPERACAO) e Código (CD_OPERACAO) |
Simulação passo a passo
- Acesse MEQ001 → aba Requisição / Recebimento → grupo Acerto de Quantidade e Custo.
- Posicione o cursor no campo Operação de Entrada.
- Pressione
<F9>. - Uma janela de pesquisa é exibida listando apenas operações de estoque do tipo Entrada, ativas e sem custo médio.
- Selecione a operação desejada (ex.: "Entrada por Acerto de Inventário" — código
5). - Pressione
Enterou dê duplo clique para confirmar.
Resultado esperado: O código da operação selecionada é preenchido no campo e a descrição é exibida automaticamente ao lado.
Excecao / Importante: A pesquisa já aplica os filtros de validação, portanto qualquer item listado é uma escolha válida. Se nenhum item aparecer, significa que não há operação de entrada ativa e sem custo médio cadastrada em
TEQ001.
Campo em branco
| O que faz | Detalhe |
|---|---|
| Campo editável | Pode ser deixado em branco, mas isso é uma condição de atenção |
| Descrição limpa | DS_OPERACERTOENT é limpo automaticamente |
Simulação passo a passo
- Acesse MEQ001 → aba Requisição / Recebimento → grupo Acerto de Quantidade e Custo.
- Se o campo Operação de Entrada estiver preenchido, selecione todo o conteúdo e apague.
- Saia do campo.
Resultado esperado: A descrição ao lado é limpa. Se houver acerto de estoque com diferença positiva, o sistema não terá operação para usar e exibirá a mensagem: "A Operação de Estoque do Tipo Acerto Qtde e Custo não está cadastrada nos Parâmetros de Estoque [MEQ001]!" (validação feita em MEQ014).
Excecao / Importante: O parâmetro
CD_OPERACERTOSAI(operação de saída para acerto, configurado no mesmo grupo) também é obrigatório para que o acerto funcione corretamente em ambos os sentidos. O parâmetroCD_HISTREQUISICAO(configurado no mesmo grupo) define o histórico contábil associado.
Regras de validação resumidas
| Regra | Detalhe |
|---|---|
| Operação deve existir | Consulta em OPERACAO — se não encontrar, lança exceção |
| Operação deve estar ativa | ST_ATIVO <> 'N' — lança exceção "não está Ativa" |
| Operação deve ser de Entrada | TP_OPERACAO = 'E' — lança exceção "deve ser de Entrada" |
| Operação não pode ser custo médio | ST_PRECOMEDIO <> 'S' — lança exceção "não pode ser ao Custo Médio" |
Fluxo funcional
Contagem de Inventário (MEQ014)
│
▼
Diferença = QT_TOTAL − QT_ESTOQUE
│
├─ Diferença > 0 (entrada) → INSERT MOVESTOQUE usando CD_OPERACERTOENT
│
└─ Diferença < 0 (saída) → INSERT MOVESTOQUE usando CD_OPERACERTOSAI
O parâmetro CD_OPERACERTOENT é lido pela tela MEQ014 na procedure Busca_Parametros e armazenado na variável iCD_OPERDEV. Se estiver vazio, o sistema emite alerta impedindo o acerto.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Ação |
|---|---|---|---|
edtCD_OPERACERTOENTKeyDown | UMEQ001.pas | 1223 | Abre pesquisa genérica ao pressionar <F9> com filtro ST_ATIVO='S', TP_OPERACAO='E', ST_PRECOMEDIO='N' |
tabPARMESTOQUECD_OPERACERTOENTValidate | UdmMEQ001.pas | 829 | Valida o código digitado: existência, ativo, tipo entrada, sem custo médio |
Busca_Parametros | UdmMEQ014.pas | 86 | Lê CD_OPERACERTOENT de PARMESTOQUE para uso no acerto de estoque |
Referências SQL diretas ao campo
Nenhuma procedure SQL em Scripts/ referencia diretamente o campo CD_OPERACERTOENT. O campo é utilizado apenas em nível de aplicação Delphi (consultas montadas em código).
Candidatas por uso da tabela PARMESTOQUE
Diversas procedures SQL fazem SELECT/JOIN na tabela PARMESTOQUE sem citar CD_OPERACERTOENT explicitamente. Não há impacto funcional direto identificado nessas rotinas para este campo específico.