Pular para o conteúdo principal

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_OPERACERTOENT Tipo: DOM_INTEGER Valor 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​

CampoTabelaTipoDescrição
CD_OPERACERTOENTPARMESTOQUEDOM_INTEGERCó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​

TelaUso
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érioCampo em OPERACAOValor exigidoSignificado
Operação ativaST_ATIVO'S'A operação não pode estar desativada
Tipo EntradaTP_OPERACAO'E'Deve ser uma operação de entrada (não saída)
Sem custo médioST_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 fazDetalhe
Campo editávelDigite o código diretamente ou pressione <F9> para pesquisar
ValidaçãoSistema 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çãoApós validação bem-sucedida, DS_OPERACERTOENT é preenchido automaticamente

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Navegue até a aba Requisição / Recebimento.
  3. Localize o grupo Acerto de Quantidade e Custo.
  4. No campo Operação de Entrada, digite o código de uma operação de entrada ativa (ex.: 5).
  5. Saia do campo (pressione Tab ou clique em outro controle).
  6. 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.
  7. 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 fazDetalhe
Abre pesquisa genéricaAo pressionar <F9> no campo, abre uma janela de pesquisa intitulada "Selecione a Operação de Estoque"
Filtro aplicadoMostra apenas operações com ST_ATIVO = 'S', TP_OPERACAO = 'E', ST_PRECOMEDIO = 'N'
Colunas exibidasDescrição (DS_OPERACAO) e Código (CD_OPERACAO)

Simulação passo a passo​

  1. Acesse MEQ001 → aba Requisição / Recebimento → grupo Acerto de Quantidade e Custo.
  2. Posicione o cursor no campo Operação de Entrada.
  3. Pressione <F9>.
  4. Uma janela de pesquisa é exibida listando apenas operações de estoque do tipo Entrada, ativas e sem custo médio.
  5. Selecione a operação desejada (ex.: "Entrada por Acerto de Inventário" — código 5).
  6. Pressione Enter ou 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 fazDetalhe
Campo editávelPode ser deixado em branco, mas isso é uma condição de atenção
Descrição limpaDS_OPERACERTOENT é limpo automaticamente

Simulação passo a passo​

  1. Acesse MEQ001 → aba Requisição / Recebimento → grupo Acerto de Quantidade e Custo.
  2. Se o campo Operação de Entrada estiver preenchido, selecione todo o conteúdo e apague.
  3. 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âmetro CD_HISTREQUISICAO (configurado no mesmo grupo) define o histórico contábil associado.


Regras de validação resumidas​

RegraDetalhe
Operação deve existirConsulta em OPERACAO — se não encontrar, lança exceção
Operação deve estar ativaST_ATIVO <> 'N' — lança exceção "não está Ativa"
Operação deve ser de EntradaTP_OPERACAO = 'E' — lança exceção "deve ser de Entrada"
Operação não pode ser custo médioST_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​

RotinaArquivoLinhaAção
edtCD_OPERACERTOENTKeyDownUMEQ001.pas1223Abre pesquisa genérica ao pressionar <F9> com filtro ST_ATIVO='S', TP_OPERACAO='E', ST_PRECOMEDIO='N'
tabPARMESTOQUECD_OPERACERTOENTValidateUdmMEQ001.pas829Valida o código digitado: existência, ativo, tipo entrada, sem custo médio
Busca_ParametrosUdmMEQ014.pas86Lê 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.