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_INTEGERChave estrangeira:RPARMESTOQUE_OPERPRODSAI→OPERACAO.CD_OPERACAOValor 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
| Tela | Papel |
|---|---|
| MEQ001 — Parâmetros de Estoque | Tela 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 / Fechamento | Valida 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 Leitura | Usa 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 Etapas | Verifica 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ço | Usa para determinar operação no relatório |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_OPERPRODSAI | PARMESTOQUE | Código da operação de saída por produção |
DS_OPERPRODSAI | (campo derivado) | Descrição da operação (via JOIN com OPERACAO) |
CD_OPERACAO | OPERACAO | Código da operação referenciada |
DS_OPERACAO | OPERACAO | Descrição da operação |
TP_OPERACAO | OPERACAO | Tipo: S = Saída, E = Entrada |
ST_ATIVO | OPERACAO | Status: 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 faz | Detalhe |
|---|---|
| Editável | Campo 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ática | Ao sair do campo, valida existência, status ativo e tipo Saída |
| Obrigatório para produção | Se vazio (junto com CD_OPERPRODENT), bloqueia geração/confirmação de ordens de produção |
Simulação passo a passo
- Acesse MEQ001 (Parâmetros de Estoque).
- Navegue até a aba "Operações Padrão".
- Localize o campo "Operações" (
CD_OPERPRODSAI). - Informe o código de uma operação de estoque de Saída (ex:
101). - Saia do campo (pressione
<Tab>). - 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').
- Se a operação existe na tabela
- Se válida, a descrição da operação é exibida no campo
DS_OPERPRODSAIao lado. - 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 utilizaCD_OPERPRODSAIcomo referência durante a validação da operação de perda. CasoCD_OPERPRODSAIesteja 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:
| Regra | Condição | Mensagem de erro |
|---|---|---|
| Operação existe | Código não encontrado em OPERACAO | E-0000 "A Operação de Estoque não está Cadastrada [TEQ001]!" |
| Operação ativa | OPERACAO.ST_ATIVO = 'N' | E-0000 "A Operação de Estoque não está Ativa [TEQ001]!" |
| Tipo Saída | OPERACAO.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çãoGERA_PRODENVELOPAMENTO— Gera produção de envelopamentoGERA_PRODMONTAGEMRECAP— Gera produção de montagem/recapGERA_PRODVULCANIZACAO— Gera produção de vulcanizaçãoCONFIRMA_ORDEMSERVICO— Confirma ordens de serviçoCONFIRMA_ORDEMSERVICOMETAL— Confirma ordens de serviço metalTRANSFERE_ESTOQUEFIAL— Transfere estoque finalAJUSTA_ORDEMPRODPEDANTECIPADO— Ajusta ordens com pedido antecipadoALTERACAO_BANDA— Alteração de banda
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Contexto |
|---|---|---|---|
TfrmMEQ001.edtCD_OPERPRODSAIKeyDown | UMEQ001.pas | 961 | Pesquisa <F9> — lista operações ativas de Saída |
TdmMEQ001.tabPARMESTOQUECD_OPERPRODSAIValidate | UdmMEQ001.pas | 533 | Validação: existência, ativo, tipo Saída |
TdmMEQ001.tabPARMESTOQUECD_OPERPRODPERDAValidate | UdmMEQ001.pas | 809 | Verifica se CD_OPERPRODSAI está preenchido |
Ordemproducao (MEQ020) | UMEQ020.pas | 177 | Busca parâmetros e valida obrigatoriedade |
Ordemproducao (CEQ015) | UCEQ015.pas | 155 | Busca parâmetros e valida obrigatoriedade |
TfrmMEQ006.btnSalvarClick | UMEQ006.pas | 1091 | Busca parâmetros para salvar ordem |
Busca_Parametros (MEQ011) | UdmMEQ011.pas | 259 | Carrega parâmetros de estoque |
Busca_Parametros (MEQ012) | UdmMEQ012.pas | 229 | Carrega parâmetros de estoque |
Busca_Parametros (MEQ017) | UdmMEQ017.pas | 151 | Carrega parâmetros de estoque |
Busca_Parametros (MEQ026) | UdmMEQ026.pas | 265 | Carrega parâmetros de estoque |
Busca_Parametros (MEQ027) | UdmMEQ027.pas | 152 | Carrega parâmetros de estoque |
TfrmMEQ044.btnORDEMPRODClick | UMEQ044.pas | 918 | Busca parâmetros para ordem de produção |
Busca_Parametros (MEQ049) | UdmMEQ049.pas | 190 | Carrega parâmetros de estoque |
Busca_Parametros (MEQ065) | UdmMEQ065.pas | 157 | Carrega parâmetros de estoque |
iniciar (MEQ066) | UMEQ066.pas | 234 | Verifica se parâmetro está preenchido |
TfrmMEQ066.btnImportarProdutosClick | UMEQ066.pas | 349 | Preenche operação de saída nos itens importados |
TfrmMEQ066.btnIncluirProdutosClick | UMEQ066.pas | 394 | Preenche operação de saída nos itens incluídos |
TfrmMEQ066.btnLancarAcabadoClick | UMEQ066.pas | 950 | Preenche operação de saída no lançamento de acabado |
TfrmMEQ066.chkST_QUEBRATECNICAClick | UMEQ066.pas | 1149 | Preenche operação de saída ao marcar quebra técnica |
Busca_Parametros (MEQ068) | UdmMEQ068.pas | 188 | Carrega parâmetros de estoque |
TfrmMEQ070.TransfereItemEtapa | UMEQ070.pas | 3163 | Verifica se parâmetro está preenchido antes de transferir |
TfrmREQ005.btnImprimirClick | UREQ005.pas | 1096 | Determina operação no relatório (Saída vs Entrada) |
Referências SQL diretas ao campo em Scripts/
| Script | Linha | Contexto |
|---|---|---|
GERA_ORDEMPRODUCAO.sql | 111 | SELECT CD_OPERPRODENT, CD_OPERPRODSAI |
GERA_PRODENVELOPAMENTO.sql | 285 | SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI |
GERA_PRODMONTAGEMRECAP.sql | 305 | SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI |
GERA_PRODVULCANIZACAO.sql | 308 | SELECT PE.CD_HISTPRODSAI, PE.CD_OPERPRODSAI |
CONFIRMA_ORDEMSERVICO.sql | 117 | select P.CD_OPERPRODENT, P.CD_OPERPRODSAI |
CONFIRMA_ORDEMSERVICOMETAL.sql | 79 | select P.CD_OPERPRODENT, P.CD_OPERPRODSAI |
TRANSFERE_ESTOQUEFIAL.sql | 25 | select p.cd_operprodsai, p.cd_operprodent |
AJUSTA_ORDEMPRODPEDANTECIPADO.sql | 38 | SELECT CD_OPERPRODSAI |
ALTERACAO_BANDA.sql | 414 | SELECT 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âmetro | Tabela | Relação |
|---|---|---|
CD_OPERPRODENT (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão") | PARMESTOQUE | Operaçã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") | PARMESTOQUE | Operaçã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") | PARMESTOQUE | Histó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") | PARMESTOQUE | Tabela de produção — consultada junto nos parâmetros. |
ST_PRODUCAO (configurado em MEQ001 — Parâmetros de Estoque, aba "Operações Padrão") | PARMESTOQUE | Flag que habilita/desabilita o módulo de produção. |
Tabela resumo
| Aspecto | Valor |
|---|---|
| Campo | PARMESTOQUE.CD_OPERPRODSAI |
| Tipo | INTEGER (FK para OPERACAO.CD_OPERACAO) |
| Editável | Sim |
| Obrigatório para produção | Sim (junto com CD_OPERPRODENT) |
Filtro de busca <F9> | Operações ativas (ST_ATIVO = 'S') do tipo Saída (TP_OPERACAO = 'S') |
| Valor padrão | NULL |
| Telas consumidoras | 15+ telas do módulo de produção (MEQ006, MEQ011, MEQ012, MEQ017, MEQ020, MEQ026, MEQ027, MEQ044, MEQ049, MEQ065, MEQ066, MEQ068, MEQ070, CEQ015, REQ005) |
| Scripts SQL | 9 scripts com referência direta |