Pular para o conteúdo principal

CD_OPERESTOQUESAI - Operações de Estoque - Geral

Tela de configuração: MEQ001 — Parâmetros de Estoque
Localização: aba Tipo
Tabela: PARMESTOQUE / coluna CD_OPERESTOQUESAI
Tipo: INTEGER — chave estrangeira para OPERACAO(CD_OPERACAO) (FK_PARMESTOQUE_2)
Componente: edtCD_OPERESTOQUESAI (TDBedit)
Valor padrão: Nenhum (campo livre; pode ficar em branco)

O que faz​

O que fazDetalhe
Define a operação padrão de saída de estoque para a empresa.Operações selecionadas devem ter TP_OPERACAO = 'S' (Saída) e ST_PRECOMEDIO = 'N'.
Preenche automaticamente a operação de saída em itens de ordens de serviço (MEQ013).Quando o usuário adiciona um item na MEQ013, tabITEMCD_OPERESTOQUESAI recebe o valor deste parâmetro via Busca_Parametros.
Exibe descrição da operação ao lado do código (campo visual DS_OPERESTOQUEQUESAI).LEFT JOIN OPERACAO OES no dataset da tela MEQ001.
Validado contra existência e tipo correto na tabela OPERACAO.tabPARMESTOQUECD_OPERESTOQUESAIValidate (UdmMEQ001.pas).

Telas impactadas​

TelaDescriçãoImpacto
MEQ001Parâmetros de EstoqueTela de configuração do próprio parâmetro.
MEQ013Ordem de ServiçoUsa CD_OPERESTOQUESAI como operação de saída padrão por empresa ao incluir itens na OS.

Campo envolvido​

CampoTabelaDomínioFK
CD_OPERESTOQUESAIPARMESTOQUEDOM_INTEGERFK_PARMESTOQUE_2 → OPERACAO(CD_OPERACAO)
DS_OPERACAO (derivado)—DOM_VARCHAR60JOIN via alias OES (OES.CD_OPERACAO = P.CD_OPERESTOQUESAI)

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoComportamento
TdmMEQ001.tabPARMESTOQUECD_OPERESTOQUESAIValidatesource/MEQ001/UdmMEQ001.pas:1689Valida que o código informado existe em OPERACAO com TP_OPERACAO = 'S' e ST_PRECOMEDIO = 'N'. Preenche o campo visual DS_OPERESTOQUESAI.
TfrmMEQ001.edtCD_OPERESTOQUESAIKeyDownsource/MEQ001/UMEQ001.pas:2003Pesquisa <F9> sobre OPERACAO com filtro TP_OPERACAO = 'S' AND ST_PRECOMEDIO = 'N'. Retorna código + descrição.
TdmMEQ013.Busca_Parametrossource/MEQ013/UdmMEQ013.pas:125Consulta CD_OPERESTOQUESAI da PARMESTOQUE para uso no módulo de Ordem de Serviço (MEQ013).
TdmMEQ013.tabITEMCD_OPERESTOQUESAIValidatesource/MEQ013/UdmMEQ013.pas:741Valida que o código existe em OPERACAO ao ser atribuído a um item da OS.
Datasource MEQ013 (MEQ013 tabITEM)source/MEQ013/UdmMEQ013.dfm:76Campo CD_OPERESTOQUESAI mapeado como CAST(NULL AS INTEGER) na definição da consulta de itens.

Referências SQL diretas ao campo em Scripts/​

Nenhuma referência direta ao campo CD_OPERESTOQUESAI encontrada em Scripts/.

Candidatas por uso da tabela PARMESTOQUE​

As procedures abaixo usam a tabela PARMESTOQUE, mas não citam o campo CD_OPERESTOQUESAI literalmente. Podem usar o parâmetro indiretamente via código Delphi ou via variáveis de sessão. Validar caso a caso antes de afirmar impacto funcional direto:

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.

Opções disponíveis​

Este parâmetro não é enumerado — é um campo de lookup (seleção de operação de estoque). O comportamento é descrito abaixo.

Operação de Saída informada (valor preenchido)​

O que fazDetalhe
EditávelCampo de edição com pesquisa <F9>.
ExigeOperação em OPERACAO com TP_OPERACAO = 'S' e ST_PRECOMEDIO = 'N'.
RestriçãoFK FK_PARMESTOQUE_2 garante que o código exista na tabela OPERACAO. Validação no Delphi garante os filtros corretos.

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros de Estoque.
  2. Abra a empresa desejada ou crie um novo registro.
  3. Na aba Tipo, localize o campo Operações de Estoque - Geral (CD_OPERESTOQUESAI).
  4. Pressione <F9> ou clique no botão de pesquisa.
  5. Na janela de pesquisa, selecione uma operação de Saída (ex.: "Saída de Estoque Padrão", código 101).
  6. Salve o registro.

Resultado esperado: O campo CD_OPERESTOQUESAI é preenchido com o código 101 e a descrição da operação é exibida automaticamente. Na OS (MEQ013), ao incluir um novo item, a operação de saída do item será preenchida com 101 automaticamente.

Exceção / Importante: A pesquisa <F9> restringe a lista a operações com TP_OPERACAO = 'S' (Saída) e ST_PRECOMEDIO = 'N' (não usa preço médio). Se não encontrar operações na lista, verifique na tela TEQ001 (Cadastro de Operações) se há operações ativas configuradas corretamente.

Relacionamento com CD_OPERESTOQUEENT: Este parâmetro define a operação de saída. A operação de entrada é configurada no campo CD_OPERESTOQUEENT (mesma aba "Tipo", mesma tela MEQ001). Para saber qual usar como entrada, consulte CD_OPERESTOQUEENT (configurado em MEQ001, aba Tipo).

Interação com ST_APENASITENSREGRA: Quando ST_APENASITENSREGRA = 'S' (configurado em MEQ001, aba Tipo), o sistema prioriza operações configuradas nas regras de GRUPOESTOQUE. Na ausência de regra para um item específico, fallback para os valores padrão: CD_OPERESTOQUESAI / CD_OPERESTOQUEENT e CD_HISTREQUISICAO definidos nestes parâmetros.

Operação não informada (campo em branco)​

O que fazDetalhe
Campo vazio permitidoSim, o campo não é obrigatório.
Comportamento na MEQ013Ao incluir itens na ordem de serviço, CD_OPERESTOQUESAI do item ficará vazio. O usuário deverá informar manualmente a operação.

Simulação passo a passo​

  1. Acesse MEQ001 — Parâmetros de Estoque.
  2. Na aba Tipo, deixe o campo Operações de Estoque - Geral (CD_OPERESTOQUESAI) em branco.
  3. Salve o registro.
  4. Acesse a tela MEQ013 (Ordem de Serviço).
  5. Abra ou crie uma OS para a empresa parametrizada.
  6. Adicione um novo item.

Resultado esperado: O campo de operação de saída do item (CD_OPERESTOQUESAI) ficará vazio. O usuário deve selecionar a operação manualmente para cada item.

Regra Geral de Validação​

Ao informar um código no campo CD_OPERESTOQUESAI:

  1. O sistema invoca tabPARMESTOQUECD_OPERESTOQUESAIValidate (UdmMEQ001.pas).
  2. Cria um objeto TOperacao com parâmetros:
    • TP_OPERACAO := 'S' (obrigatório ser Saída);
    • ST_PRECOMEDIO := 'N' (não pode ser operação de preço médio).
  3. Chama ValidaOperacao() para verificar existência e tipo na tabela OPERACAO.
  4. Se válido, preenche DS_OPERESTOQUESAI com a descrição da operação.
  5. Se inválido, lança exceção E-0000 com mensagem indicando que a operação não está cadastrada corretamente.

Tabela OPERACAO de referência:

ColunaDomínioObservação
CD_OPERACAODOM_INTEGERChave primária
DS_OPERACAODOM_VARCHAR60Descrição
TP_OPERACAODOM_CHAR1'S' = Saída (obrigatório para este parâmetro)
ST_PRECOMEDIODOM_CHAR1'N' obrigatório para este parâmetro
ST_ATIVODOM_CHAR1'S' obrigatório (filtro da pesquisa)