Pular para o conteúdo principal

CD_OPERESTORNOENT - Operação Padrão de Estorno de Entrada

Tela de configuração: MEQ001 - Parâmetros do Estoque Localização: Operações Padrão Tabela: PARMESTOQUE.CD_OPERESTORNOENT Tipo: INTEGER (código de operação) Valor padrão: indefinido (campo editável livre) FK: RPARMESTOQUE_OPERESTORNOENT → OPERACAO(CD_OPERACAO)

Tela e campo​

ElementoDetalhe
TelaMEQ001 — Parâmetros do Estoque
AbaOperações Padrão
ComponenteedtCD_OPERESTORNOENT (TDBEdit)
DataFieldCD_OPERESTORNOENT
DataSourcedmMEQ001.dsPARMESTOQUE
Tipo visualCampo de texto editável com lookup por <F9>
Coluna DBCD_OPERESTORNOENT (DOM_INTEGER)

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoComportamento
TfrmMEQ001.edtCD_OPERESTORNOENTKeyDownsource/MEQ001/UMEQ001.pasAo pressionar <F9>, abre busca de operações na tabela OPERACAO com filtro Tp_Operacao='E' (entrada) e St_PrecoMedio='S'. O código selecionado é gravado no campo.
TdmMEQ001.tabPARMESTOQUECD_OPERESTORNOENTValidatesource/MEQ001/UdmMEQ001.pasAo validar o campo, cria objeto TOperacao com Tp_Operacao='E' e St_PrecoMedio='S', chama ValidaOperacao() para verificar se o código informado é uma operação de entrada válida. Preenche DS_OPERESTORNOENT com a descrição da operação.
TfrmMEQ006.btnSalvarClicksource/MEQ006/UMEQ006.pasInclui o campo em SELECT genérico de parâmetros (listagem), sem lógica de negócio associada.

Referências SQL diretas ao campo​

Procedure/ScriptArquivoUso
GERA_ORDEMPRODUCAOScripts/GERA_ORDEMPRODUCAO.sqlLê o parâmetro da PARMESTOQUE. Quando TP_ORDEMPRODUCAO = 'E' (entrada/estorno), atribui V_CD_OPERENTRADA = V_CD_OPERESTORNOENT (linha ~299) e V_CD_OPERACAO = V_CD_OPERESTORNOENT (linha ~967) para gerar a movimentação de entrada de estorno de ordem de produção.

Candidatas por uso da tabela PARMESTOQUE (sem referência direta ao campo)​

As procedures abaixo consultam PARMESTOQUE mas não citam CD_OPERESTORNOENT literalmente. Não foi encontrado impacto funcional direto a elas deste parâmetro:

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_PRODENVELOPAMENTO, GERA_PRODLOTEPRODUCAO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS, MONTA_ORDEMPRODITEMPEDIDOGRADE.

Opções disponíveis​

Este parâmetro não opera por letras/opções fixas — ele armazena o código de uma operação de estoque cadastrada na tabela OPERACAO (filtrada por TP_OPERACAO = 'E' e ST_PRECOMEDIO = 'S'). A tabela abaixo descreve o comportamento do campo no contexto do sistema.

O que fazDetalhe
Armazena código de operaçãoCampo editável que recebe o código (CD_OPERACAO) de uma operação cadastrada com TP_OPERACAO = 'E' (entrada).
Lookup via <F9>Pressionar <F9> abre a busca de operações filtrada para entrada com preço médio.
Validação obrigatóriaO sistema valida que o código informado é uma operação de entrada ativa e válida.
Impacto no estorno de produçãoQuando a ordem de produção é do tipo "E" (entrada/estorno), a procedure GERA_ORDEMPRODUCAO usa essa operação para gerar o lançamento de entrada correspondente.
Campo opcionalNão há imposição de preenchimento obrigatório no código; se vazio, COALESCE pode ignorar o estorno.

Operação configurada (valor preenchido)​

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros do Estoque.
  2. Na aba Operações Padrão, localize o campo Operações (CD_OPERESTORNOENT).
  3. Pressione <F9> ou digite manualmente o código de uma operação cadastrada (ex: 101 — "Entrada Estorno Produção").
  4. O sistema preenche a descrição ao lado e valida que a operação é do tipo Entrada com Preço Médio.
  5. Salve o registro.

Resultado esperado: O código da operação é persistido em PARMESTOQUE.CD_OPERESTORNOENT. Ao executar um estorno de ordem de produção de entrada, o sistema utilizará essa operação para gerar a movimentação de estoque.

Exceção / Importante: A operação configurada deve ter TP_OPERACAO = 'E' e ST_PRECOMEDIO = 'S'. Caso o código informado não atenda a esses critérios, a validação (ValidaOperacao) rejeitará o valor. Se um usuário precisar de operações com tipo diferente, configurar outra rotina — este parâmetro é específico para estornos de entrada.

Operação não configurada (campo vazio/null)​

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros do Estoque.
  2. Na aba Operações Padrão, deixe o campo Operações (CD_OPERESTORNOENT) em branco.
  3. Salve o registro.

Resultado esperado: O parâmetro fica como NULL. Quando GERA_ORDEMPRODUCAO ler o valor, V_CD_OPERENTRADA e V_CD_OPERACAO ficarão nulos em cenários de estorno de entrada, podendo impedir a geração da movimentação ou gerar um lançamento sem operação definida.

Exceção / Importante: A procedure GERA_ORDEMPRODUCAO possui verificação para parâmetros faltantes — se tanto CD_OPERENTRADA quanto CD_OPERSAIDA estiverem nulos, retorna a mensagem: "Os Parâmetros do Estoque não estão Cadastrados. Verifique [MEQ001]!". Para o par de estorno especificamente, a ausência de CD_OPERESTORNOENT pode causar falha na geração do estorno de entrada.

Regra geral​

  • CD_OPERESTORNOENT define qual operação de entrada (tipo E) será utilizada automaticamente quando o sistema precisar gerar um estorno de entrada de produção.
  • A operação deve estar cadastrada na tabela OPERACAO com:
    • TP_OPERACAO = 'E' (entrada)
    • ST_PRECOMEDIO = 'S' (custo pelo preço médio)
  • O lookup por <F9> já filtra automaticamente por esses critérios.
  • O parâmetro irmão CD_OPERESTORNOSAI (mesma aba) controla o estorno de saída.

Tabela comparativa resumida​

SituaçãoCampo CD_OPERESTORNOENTComportamento no estorno de entrada
PreenchidoCódigo válido de operação Entrada/Preço MédioGERA_ORDEMPRODUCAO usa essa operação para gerar a movimentação de entrada.
InexistenteNULLSem operação de estorno definida — pode gerar erro ou mensagem de parâmetro não cadastrado.
InválidoCódigo de operação que não é Entrada ou sem Preço MédioValidação no OnValidate do campo rejeita o valor com erro.