CD_OPERESTOQUEENT - Operação Padrão de Entrada de Estoque
Tela de configuração: MEQ001 — Parâmetros de Estoque Aba: Tipo Tabela:
PARMESTOQUE.CD_OPERESTOQUEENTComponente:edtCD_OPERESTOQUEENT(TDBEdit) Tipo:INTEGER(FK →OPERACAO.CD_OPERACAO) Rótulo na tela: "Operação de Saída" (nota: o rótulo é enganoso; o campo define operação de Entrada)
Descrição
Define a operação de estoque de entrada padrão que será utilizada em rotinas que geram movimentação de entrada de estoque para a empresa parametrizada. O valor informado deve ser o código de uma operação cadastrada na tabela OPERACAO com:
TP_OPERACAO = 'E'(tipo Entrada)ST_ATIVO = 'S'ST_PRECOMEDIO = 'N'(não utiliza preço médio)
Telas impactadas
| Tela | Descrição | Como é usado |
|---|---|---|
| MEQ001 | Parâmetros de Estoque | Campo direto para configuração |
| MEQ013 | Ajuste de Saldo de Estoque | Lê o parâmetro para definir a operação de entrada nos itens ajustados |
Campos envolvidos
| Campo | Tabela | Tipo | FK |
|---|---|---|---|
CD_OPERESTOQUEENT | PARMESTOQUE | INTEGER | OPERACAO(CD_OPERACAO) |
DS_OPERACAO | OPERACAO | VARCHAR(60) | Descrição — exibida como lookup |
Comportamento do campo
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campo livre com busca por <F9>. |
| Validação | Ao digitar código e sair do campo, valida se a operação existe, é do tipo 'E' (Entrada), está ativa (ST_ATIVO = 'S') e não é preço médio (ST_PRECOMEDIO = 'N'). |
| Busca F9 | Abre pesquisa listando DS_OPERACAO e CD_OPERACAO da tabela OPERACAO filtrando TP_OPERACAO = 'E' e ST_PRECOMEDIO = 'N'. |
| Descrição auto | Após validação, preenche automaticamente o campo descritivo DS_OPERESTOQUEENT na tela. |
| FK obrigatória | O código deve existir na tabela OPERACAO (constraint FK_PARMESTOQUE_1). |
Simulação passo a passo
- Acesse a tela
MEQ001 — Parâmetros de Estoque. - Abra a aba Tipo.
- Localize o campo "Operação de Saída" (campo
CD_OPERESTOQUEENT). - Pressione
<F9>no campo (ou digite o código diretamente). - Selecione uma operação na lista de operações de entrada (ex:
1— "Entrada de Mercadoria",10— "Devolução de Venda"). - Salve o registro.
Resultado esperado: O código da operação selecionada (ex: 1) é salvo em PARMESTOQUE.CD_OPERESTOQUEENT para a empresa, e a descrição é exibida automaticamente ao lado (ex: "Entrada de Mercadoria").
Exceção / Importante: O rótulo do campo na tela diz "Operação de Saída", mas o comportamento é de operação de Entrada (
TP_OPERACAO = 'E'). O campo de saída correspondente éCD_OPERESTOQUESAI(mesma aba). Não confunda os dois.
Validação: Se o código informado apontar para uma operação inativa, do tipo
'S'(Saída), ou comST_PRECOMEDIO = 'S', o sistema rejeitará o valor via rotinaValidaOperacao.
Uso na tela MEQ013 (Ajuste de Saldo de Estoque)
Quando um operador realiza ajuste de saldo de entrada na tela MEQ013, o sistema busca o parâmetro CD_OPERESTOQUEENT para definir automaticamente a operação de entrada do item ajustado:
| O que faz | Detalhe |
|---|---|
| Leitura | Busca_Parametros recupera E.CD_OPERESTOQUEENT de PARMESTOQUE. |
| Atribuição | O valor é atribuído ao campo CD_OPERESTOQUEENT da grid de itens. |
| Validação | Se o valor estiver vazio e houver um fallback (iCD_OPERDEV), este é usado. Caso contrário, a validação exige que o campo esteja preenchido — erro E-0000 com mensagem "A Operação não está Cadastrada. Verifique! [TEQ001]". |
Simulação passo a passo (MEQ013)
- Configure
CD_OPERESTOQUEENTnaMEQ001(ex: operação1— "Entrada de Mercadoria"). - Abra a tela
MEQ013 — Ajuste de Saldo de Estoque. - Insira um novo item para ajuste de entrada.
- Informe o código do item e a quantidade de ajuste.
- Observe que o campo
CD_OPERESTOQUEENTé preenchido automaticamente com o valor daMEQ001. - Salve o ajuste.
Resultado esperado: O registro de estoque gerado utiliza a operação configurada em CD_OPERESTOQUEENT como operação de entrada, sem que o usuário precise informá-la manualmente.
Importante: Se
CD_OPERESTOQUEENTnão estiver configurado naMEQ001(valor nulo/vazio) e não houver fallback (iCD_OPERDEV), o sistema exibirá erro ao validar o item naMEQ013.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Impacto |
|---|---|---|
edtCD_OPERESTOQUEENTKeyDown | source/MEQ001/UMEQ001.pas:2027 | Pesquisa <F9> de operações de entrada (TP_OPERACAO = 'E'). |
tabPARMESTOQUECD_OPERESTOQUEENTValidate | source/MEQ001/UdmMEQ001.pas:1673 | Valida operação com Tp_Operacao = 'E' e St_PrecoMedio = 'N'. |
tabITEMCD_OPERESTOQUEENTValidate | source/MEQ013/UdmMEQ013.pas:760 | Valida existência da operação na tabela OPERACAO (MEQ013). |
tabITEMCD_ITEMValidate | source/MEQ013/UdmMEQ013.pas:386 | Atribui CD_OPERESTOQUEENT do parâmetro ao item; usa fallback iCD_OPERDEV se vazio. |
btnSalvarClick | source/MEQ013/UMEQ013.pas:341 | Lê CD_OPERESTOQUEENT do item para processar a operação de grade. |
Busca_Parametros | source/MEQ013/UdmMEQ013.pas:125 | Consulta E.CD_OPERESTOQUEENT FROM PARMESTOQUE E. |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo CD_OPERESTOQUEENT nos scripts SQL da base de conhecimento.
Candidatas por uso da tabela PARMESTOQUE
As procedures abaixo usam a tabela PARMESTOQUE mas não citam o campo CD_OPERESTOQUEENT literalmente. Devem ser validadas caso a caso para confirmar se leem o campo via ORM/ClientDataset:
AJUSTA_ORDEMPRODPEDANTECIPADO, ALTERACAO_BANDA, ATUALIZA_CONSUMOMEDIO, ATUALIZA_ESTOQUEDIAPESSOA, CALCULA_FORMACAOPRECOVENDA, CANCELA_ESTOQUE, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, GERA_ESTOQUEPSALT, GERA_NOTAFISCALESTOQUE, GERA_ORDEMPRODUCAO, GERA_PRODENVELOPAMENTO, GERA_PRODLOTEPRODUCAO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS.
Referências cruzadas
- Campo de saída correspondente:
CD_OPERESTOQUESAI(configurado na mesma telaMEQ001, aba Tipo) — operação padrão para saídas de estoque (TP_OPERACAO = 'S'). - Tabela de operações:
OPERACAO— consulte os registros comTP_OPERACAO = 'E'para opções válidas. - Parâmetro relacionado:
CD_OPERDEV(verificar tabelaPARMESTOQUEou configuração equivalente) — pode servir como fallback em telas de ajuste.