Pular para o conteúdo principal

CD_OPERPRODSAI — Operação de Saída por Produção

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba "Operações Padrão" Tabela / Campo: PARMESTOQUE.CD_OPERPRODSAI — DOM_INTEGER Chave estrangeira: RPARMESTOQUE_OPERPRODSAI → OPERACAO.CD_OPERACAO Valor padrão: NULL (sem valor pré-definido)


Finalidade​

Armazena o código da operação de estoque do tipo Saída utilizada automaticamente nos processos de produção. Quando uma ordem de produção é confirmada ou encerrada, o sistema utiliza esta operação para dar baixa (saída) dos componentes/materiais do estoque.

É um parâmetro obrigatório para o módulo de produção. Se estiver vazio juntamente com CD_OPERPRODENT (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão"), qualquer tentativa de confirmar ou gerar produção é bloqueada com erro E-0000.


Telas impactadas​

TelaPapel
MEQ001 — Parâmetros de EstoqueTela de configuração do parâmetro
MEQ006 — Ordem de Produção (Manutenção)Busca parâmetros para lançamento de produção
MEQ011 — Ordem de Produção (Lista)Busca parâmetros
MEQ012 — Ordem de Produção (Ficha)Busca parâmetros
MEQ017 — Ordem de Produção (por Etapa)Busca parâmetros
MEQ020 — Produção / FechamentoValida se parâmetros estão cadastrados antes de gravar
MEQ026 — Ordem de Produção (Tecelagem)Busca parâmetros
MEQ027 — Ordem de Produção (Lote)Busca parâmetros
MEQ044 — Ordem de Produção (Botões)Busca parâmetros
MEQ049 — Transferência de Estoque (Fila)Busca parâmetros
MEQ065 — Ordem de Produção (Composição)Busca parâmetros
MEQ066 — Manutenção Ordem LeituraUsa para preencher operação de saída nos itens importados/incluídos
MEQ068 — Ordem de Produção (Montagem)Busca parâmetros
MEQ070 — Transferência entre EtapasVerifica se o parâmetro está preenchido antes de transferir
CEQ015 — Produção (Consulta)Valida parâmetros antes de consultar ordens
REQ005 — Relatório de Ordem de ServiçoUsa para determinar operação no relatório

Campos envolvidos​

CampoTabelaDescrição
CD_OPERPRODSAIPARMESTOQUECódigo da operação de saída por produção
DS_OPERPRODSAI(campo derivado)Descrição da operação (via JOIN com OPERACAO)
CD_OPERACAOOPERACAOCódigo da operação referenciada
DS_OPERACAOOPERACAODescrição da operação
TP_OPERACAOOPERACAOTipo: S = Saída, E = Entrada
ST_ATIVOOPERACAOStatus: S = Ativo, N = Inativo

Opções disponíveis​

Este parâmetro não possui lista de opções fechada. O usuário informa o código de uma operação de estoque válida (do tipo Saída e ativa).

O que fazDetalhe
EditávelCampo de texto numérico (TDBEdit) na aba "Operações Padrão"
Busca com <F9>Abre pesquisa de operações ativas do tipo Saída (TP_OPERACAO = 'S', ST_ATIVO = 'S')
Validação automáticaAo sair do campo, valida existência, status ativo e tipo Saída
Obrigatório para produçãoSe vazio (junto com CD_OPERPRODENT), bloqueia geração/confirmação de ordens de produção

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Navegue até a aba "Operações Padrão".
  3. Localize o campo "Operações" (CD_OPERPRODSAI).
  4. Informe o código de uma operação de estoque de Saída (ex: 101).
  5. Saia do campo (pressione <Tab>).
  6. O sistema valida automaticamente:
    • Se a operação existe na tabela OPERACAO.
    • Se está ativa (ST_ATIVO = 'S').
    • Se é do tipo Saída (TP_OPERACAO = 'S').
  7. Se válida, a descrição da operação é exibida no campo DS_OPERPRODSAI ao lado.
  8. Salve o registro com <F4> ou botão Salvar.

Resultado esperado: O código da operação é gravado em PARMESTOQUE.CD_OPERPRODSAI. A partir desse momento, todas as rotinas de produção da empresa utilizarão esta operação para registrar saídas de estoque quando uma ordem de produção for confirmada/encerrada.

Excecao / Importante: Se o campo CD_OPERPRODPERDA (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão") for preenchido, o sistema também utiliza CD_OPERPRODSAI como referência durante a validação da operação de perda. Caso CD_OPERPRODSAI esteja vazio, a validação do campo de perda pode ser afetada.


Regras de validação (escrita)​

Ao digitar ou selecionar um código no campo, o sistema executa as seguintes validações:

RegraCondiçãoMensagem de erro
Operação existeCódigo não encontrado em OPERACAOE-0000 "A Operação de Estoque não está Cadastrada [TEQ001]!"
Operação ativaOPERACAO.ST_ATIVO = 'N'E-0000 "A Operação de Estoque não está Ativa [TEQ001]!"
Tipo SaídaOPERACAO.TP_OPERACAO = 'E'E-0000 "A Operação de Estoque deve ser de Saída [TEQ001]!"

Regras de negócio (consumo)​

Parâmetros obrigatórios para produção​

Em MEQ020, CEQ015 e diversas outras telas de produção, antes de gravar ou consultar uma ordem, o sistema verifica:

Se CD_OPERPRODENT está vazio E CD_OPERPRODSAI está vazio
→ Dispara: E-0000 "Os Parâmetros do Estoque não estão Cadastrados. Verifique [MEQ001]!"

Uso em scripts de geração de estoque​

Os scripts SQL abaixo utilizam CD_OPERPRODSAI para definir a operação de saída ao gerar movimentações de estoque de produção:

  • GERA_ORDEMPRODUCAO — Gera ordens de produção
  • GERA_PRODENVELOPAMENTO — Gera produção de envelopamento
  • GERA_PRODMONTAGEMRECAP — Gera produção de montagem/recap
  • GERA_PRODVULCANIZACAO — Gera produção de vulcanização
  • CONFIRMA_ORDEMSERVICO — Confirma ordens de serviço
  • CONFIRMA_ORDEMSERVICOMETAL — Confirma ordens de serviço metal
  • TRANSFERE_ESTOQUEFIAL — Transfere estoque final
  • AJUSTA_ORDEMPRODPEDANTECIPADO — Ajusta ordens com pedido antecipado
  • ALTERACAO_BANDA — Alteração de banda

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaContexto
TfrmMEQ001.edtCD_OPERPRODSAIKeyDownUMEQ001.pas961Pesquisa <F9> — lista operações ativas de Saída
TdmMEQ001.tabPARMESTOQUECD_OPERPRODSAIValidateUdmMEQ001.pas533Validação: existência, ativo, tipo Saída
TdmMEQ001.tabPARMESTOQUECD_OPERPRODPERDAValidateUdmMEQ001.pas809Verifica se CD_OPERPRODSAI está preenchido
Ordemproducao (MEQ020)UMEQ020.pas177Busca parâmetros e valida obrigatoriedade
Ordemproducao (CEQ015)UCEQ015.pas155Busca parâmetros e valida obrigatoriedade
TfrmMEQ006.btnSalvarClickUMEQ006.pas1091Busca parâmetros para salvar ordem
Busca_Parametros (MEQ011)UdmMEQ011.pas259Carrega parâmetros de estoque
Busca_Parametros (MEQ012)UdmMEQ012.pas229Carrega parâmetros de estoque
Busca_Parametros (MEQ017)UdmMEQ017.pas151Carrega parâmetros de estoque
Busca_Parametros (MEQ026)UdmMEQ026.pas265Carrega parâmetros de estoque
Busca_Parametros (MEQ027)UdmMEQ027.pas152Carrega parâmetros de estoque
TfrmMEQ044.btnORDEMPRODClickUMEQ044.pas918Busca parâmetros para ordem de produção
Busca_Parametros (MEQ049)UdmMEQ049.pas190Carrega parâmetros de estoque
Busca_Parametros (MEQ065)UdmMEQ065.pas157Carrega parâmetros de estoque
iniciar (MEQ066)UMEQ066.pas234Verifica se parâmetro está preenchido
TfrmMEQ066.btnImportarProdutosClickUMEQ066.pas349Preenche operação de saída nos itens importados
TfrmMEQ066.btnIncluirProdutosClickUMEQ066.pas394Preenche operação de saída nos itens incluídos
TfrmMEQ066.btnLancarAcabadoClickUMEQ066.pas950Preenche operação de saída no lançamento de acabado
TfrmMEQ066.chkST_QUEBRATECNICAClickUMEQ066.pas1149Preenche operação de saída ao marcar quebra técnica
Busca_Parametros (MEQ068)UdmMEQ068.pas188Carrega parâmetros de estoque
TfrmMEQ070.TransfereItemEtapaUMEQ070.pas3163Verifica se parâmetro está preenchido antes de transferir
TfrmREQ005.btnImprimirClickUREQ005.pas1096Determina operação no relatório (Saída vs Entrada)

Referências SQL diretas ao campo em Scripts/​

ScriptLinhaContexto
GERA_ORDEMPRODUCAO.sql111SELECT CD_OPERPRODENT, CD_OPERPRODSAI
GERA_PRODENVELOPAMENTO.sql285SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI
GERA_PRODMONTAGEMRECAP.sql305SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI
GERA_PRODVULCANIZACAO.sql308SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI
CONFIRMA_ORDEMSERVICO.sql117select P.CD_OPERPRODENT, P.CD_OPERPRODSAI
CONFIRMA_ORDEMSERVICOMETAL.sql79select P.CD_OPERPRODENT, P.CD_OPERPRODSAI
TRANSFERE_ESTOQUEFIAL.sql25select p.cd_operprodsai, p.cd_operprodent
AJUSTA_ORDEMPRODPEDANTECIPADO.sql38SELECT CD_OPERPRODSAI
ALTERACAO_BANDA.sql414SELECT PE.CD_OPERPRODSAI

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

Estas procedures/views acessam a tabela PARMESTOQUE mas não citam CD_OPERPRODSAI literalmente. Não há impacto funcional direto confirmado sobre este campo específico. Incluídas para completude: ATUALIZA_CONSUMOMEDIO, ATUALIZA_ESTOQUEDIAPESSOA, CALCULA_FORMACAOPRECOVENDA, CANCELA_ESTOQUE, GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, GERA_ESTOQUEPSALT, GERA_NOTAFISCALESTOQUE, GERA_PRODLOTEPRODUCAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS, MONTA_ORDEMPRODITEMPEDIDOGRADE, MONTA_ORDEMPRODUCAOPEDIDO, MONTA_ORDEMPRODUCAOSERVICO, POPULA_ITEMFRETENOTA, PROCESSA_ETIQUETA, PRODUCAO_RESTAURANTE, RECALCULA_ESTOQUE, RECALCULA_ESTOQUEDIA.


Parâmetros relacionados​

ParâmetroTabelaRelação
CD_OPERPRODENT (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão")PARMESTOQUEOperação de Entrada por produção — par complementar. Validado junto em bloqueios de produção.
CD_OPERPRODPERDA (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão")PARMESTOQUEOperação de Perda por produção. Sua validação referencia CD_OPERPRODSAI.
CD_HISTPRODSAI (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão")PARMESTOQUEHistórico de saída por produção — utilizado junto em scripts de geração.
CD_TABPRODUCAO (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão")PARMESTOQUETabela de produção — consultada junto nos parâmetros.
ST_PRODUCAO (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão")PARMESTOQUEFlag que habilita/desabilita o módulo de produção.

Tabela resumo​

AspectoValor
CampoPARMESTOQUE.CD_OPERPRODSAI
TipoINTEGER (FK para OPERACAO.CD_OPERACAO)
EditávelSim
Obrigatório para produçãoSim (junto com CD_OPERPRODENT)
Filtro de busca <F9>Operações ativas (ST_ATIVO = 'S') do tipo Saída (TP_OPERACAO = 'S')
Valor padrãoNULL
Telas consumidoras15+ telas do módulo de produção (MEQ006, MEQ011, MEQ012, MEQ017, MEQ020, MEQ026, MEQ027, MEQ044, MEQ049, MEQ065, MEQ066, MEQ068, MEQ070, CEQ015, REQ005)
Scripts SQL9 scripts com referência direta