CD_OPERRECEBTO — Operação de Estoque para Recebimento
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: aba &Requisição / Recebimento Tabela:
PARMESTOQUE.CD_OPERRECEBTOTipo:DOM_INTEGER(chave estrangeira paraOPERACAO.CD_OPERACAO) Valor padrão: vazio (não obrigatório) Constraint:RPARMESTOQUE_OPERRECEBTO→OPERACAO(CD_OPERACAO)
Finalidade
Define qual operação de estoque será utilizada para registrar entradas por recebimento de mercadoria (notas fiscais de compra conferidas). Quando a conferência de recebimento é finalizada, o sistema grava movimentos de estoque (MOVESTOQUE) usando o código de operação informado neste parâmetro.
Telas / Rotinas impactadas
| Tela / Rotina | Como utiliza |
|---|---|
| MRC004 — Conferência de Recebimento | Ao finalizar conferência (FINALIZA_CONFERENCIANOTA), grava INSERT MOVESTOQUE com CD_OPERACAO = CD_OPERRECEBTO |
| MCO005 — Consulta de Parâmetros | Lê CD_OPERRECEBTO via SELECT para exibir configuração da empresa |
Campos envolvidos
| Campo | Tipo | Descrição |
|---|---|---|
PARMESTOQUE.CD_OPERRECEBTO | INTEGER | Código da operação de entrada para recebimento |
PARMESTOQUE.CD_HISTRECEBTO | INTEGER | Histórico contábil vinculado ao recebimento (campo irmão, mesma aba) |
OPERACAO.CD_OPERACAO | INTEGER | Código da operação cadastrada em TEQ001 |
OPERACAO.DS_OPERACAO | VARCHAR | Descrição da operação (exibida automaticamente ao validar) |
OPERACAO.TP_OPERACAO | CHAR(1) | Tipo: 'E' = Entrada, 'S' = Saída |
OPERACAO.ST_ATIVO | CHAR(1) | 'S' = ativa, 'N' = inativa |
Opções disponíveis
O campo aceita qualquer código de operação de estoque cadastrado em TEQ001 (tela de Operações de Estoque), desde que:
| O que faz | Detalhe |
|---|---|
Operação existe em OPERACAO | Validação contra tabela OPERACAO ao sair do campo |
| Operação está ativa | ST_ATIVO deve ser 'S'; caso contrário, exibe erro "A Operação de Estoque não está Ativa [TEQ001]!" |
| Operação é do tipo Entrada | TP_OPERACAO deve ser 'E'; se for 'S' (Saída), exibe erro "A Operação de Estoque deve ser de Entrada [TEQ001]!" |
| Pode ficar vazio | Campo não é obrigatório; se vazio, o recebimento não gera movimento de estoque automático |
Exemplo de valores válidos
| Código digitado | Descrição carregada | Tipo |
|---|---|---|
1 | Entrada por Compra | E (Entrada) ✓ |
5 | Entrada por Devolução de Cliente | E (Entrada) ✓ |
3 | Saída por Venda | S (Saída) ✗ — bloqueado |
Simulação passo a passo
- Acesse o menu Estoque → Parâmetros (tela MEQ001).
- Clique na aba &Requisição / Recebimento.
- Localize o campo Cód Oper Recebimento (rótulo
CD_OPERRECEBTO). - Digite o código de uma operação de entrada existente, por exemplo
1. - Saia do campo (pressione
Tab). O sistema valida automaticamente:- Se a operação existe e está ativa → preenche a descrição ao lado.
- Se a operação é de saída (
TP_OPERACAO = 'S') → exibe erro e não aceita. - Se a operação está inativa (
ST_ATIVO = 'N') → exibe erro e não aceita.
- Salve o registro.
Dica: Para pesquisar operações disponíveis, posicione o cursor no campo e pressione
<F9>. O sistema abre uma tela de pesquisa listando apenas operações ativas e do tipo Entrada (TP_OPERACAO = 'E').
Resultado esperado: O código da operação fica gravado em PARMESTOQUE.CD_OPERRECEBTO. A partir desse momento, toda finalização de conferência de recebimento de mercadoria gerará movimentos de estoque (MOVESTOQUE) usando essa operação.
Excecao / Importante:
- Se o campo ficar vazio, a finalização de recebimento (
FINALIZA_CONFERENCIANOTA) pode não gerar movimento de estoque automático, dependendo da regra da stored procedure.- O parâmetro
CD_HISTRECEBTO(configurado na mesma aba) complementa este campo, definindo o histórico contábil lançado junto com o movimento.
Fluxo de utilização
Conferência de Recebimento (MRC004)
│
▼
FINALIZA_CONFERENCIANOTA
│
├── INSERT NOTA + INSERT ITEMNOTA
│
├── INSERT MOVESTOQUE ← CD_OPERACAO = PARMESTOQUE.CD_OPERRECEBTO
│
├── UPDATE ESTOQUE (QT_ESTOQUE += QT_LIDA)
│
└── GRAVA_CONTAS (títulos a pagar)
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
edtCD_OPERRECEBTOKeyDown | UMEQ001.pas:1056 | Evento de tecla <F9> — abre pesquisa de operações de entrada ativas |
tabPARMESTOQUECD_OPERRECEBTOValidate | UdmMEQ001.pas:628 | Validação do campo — verifica existência, ativo e tipo Entrada |
Busca_Parametros | UdmMCO005.pas:125 | Consulta parâmetros da empresa em MCO005 |
Referências SQL diretas ao campo
Nenhuma referência direta a CD_OPERRECEBTO foi encontrada em scripts SQL. A utilização ocorre via stored procedure FINALIZA_CONFERENCIANOTA, que lê o valor da tabela PARMESTOQUE em tempo de execução.
Candidatas por uso da tabela PARMESTOQUE
Muitas procedures fazem SELECT ou JOIN na tabela PARMESTOQUE sem citar CD_OPERRECEBTO literalmente. Entre as que podem ter relação funcional com recebimento:
| Procedure | Arquivo | Observação |
|---|---|---|
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | Gera estoque a partir de NF — pode usar operação de entrada |
CANCELA_ESTOQUE | Scripts/CANCELA_ESTOQUE.sql | Cancela movimentos de estoque — consulta parâmetros gerais |
GERA_ESTOQUE | Scripts/GERA_ESTOQUE.sql | Geração geral de estoque — consulta PARMESTOQUE |
Nota: As candidatas listadas não citam
CD_OPERRECEBTOdiretamente no código SQL. O impacto funcional depende de como cada procedure utiliza os parâmetros de operação da empresa.