ST_VALIDAESTOQUENEGATIVOMRC002 — Valida Estoque Comprometido
Tela de configuração: REC001 — Parâmetros de Recapadora Localização: Parâmetros → Opção 2 Tabela:
PARAMRECAP.ST_VALIDAESTOQUENEGATIVOMRC002Tipo: Checkbox (CHAR(1)) Valor padrão:N(Desmarcado)
Controla se o sistema valida o estoque (saldo atual menos estoque comprometido em outras ordens de produção em execução) antes de gerar uma ordem de produção nas telas MRC002 e MRC043.
Telas impactadas
| Tela | Módulo | Impacto |
|---|---|---|
| MRC002 | Geração de Pedidos/Ordens de Produção | Consulta VALIDA_ESTOQUEPRODUCAORECAP e exibe alerta de produtos sem estoque antes de gerar ordens |
| MRC043 | Recepção de Pneus | Armazena o valor na flag stValidaEstoqueNegativo para uso no fluxo de recepção |
| REC001 | Parâmetros de Recapadora | Tela onde o parâmetro é configurado (aba Opção 2) |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
ST_VALIDAESTOQUENEGATIVOMRC002 | PARAMRECAP | CHAR(1) DEFAULT 'N' NOT NULL | Flag S/N que ativa a validação de estoque comprometido |
Opções disponíveis
S — Validação Ativa (Estoque Comprometido)
| O que faz | Detalhe |
|---|---|
| Editável | Sim, via checkbox na aba Opção 2 |
| Exige | Nenhum parâmetro adicional |
| Restrição | Não bloqueia a geração — exibe alerta com lista de produtos e solicita confirmação do usuário |
Quando marcado, ao gerar ordens de produção (MRC002) o sistema consulta a procedure VALIDA_ESTOQUEPRODUCAORECAP passando a empresa e o serviço do pneu. A procedure calcula o saldo disponível de cada insumo considerando estoque atual menos consumo comprometido em todas as etapas de produção abertas (escareação, preparação de banda, aplicação de cola, aplicação de conserto, extrusora, emborrachamento, acabamento, vulcanização, exame final, etc.). Se algum produto ficar com saldo negativo ou insuficiente, o sistema exibe uma mensagem listando os códigos e descrições dos itens afetados e pergunta se o operador deseja continuar mesmo assim.
Simulação passo a passo
- Acesse REC001 → aba Opção 2.
- Marque o checkbox Valida Estoque Comprometido [MRC002/MRC024].
- Salve o cadastro de parâmetros.
- Acesse MRC002 e selecione um pneu/serviço para gerar a ordem de produção.
- Clique em confirmar / gerar a produção.
- O sistema chama
VALIDA_ESTOQUEPRODUCAORECAPe verifica se os insumos necessários possuem estoque suficiente. - Se houver produtos sem estoque ou com estoque comprometido em outras OPs, uma janela de confirmação é exibida listando os itens (código + descrição) com a mensagem: "Os Seguintes Produtos Não Possuem Estoque ou Possuem Estoque Comprometido em Outras Ordens de Produção em Execução: [lista]. Deseja Continuar e Gerar a Produção Para o Pneu (Serviço: X Série: Y)?".
- Clique em Sim para gerar a ordem mesmo com estoque negativo, ou Não para cancelar.
Resultado esperado: Com estoque suficiente, a ordem é gerada normalmente sem alerta. Com estoque insuficiente, o operador vê a lista de produtos com problema e decide se continua ou aborta a geração.
Excecao / Importante: A validação é do tipo "soft block" — não impede a geração da ordem, apenas alerta. O operador pode confirmar mesmo com estoque negativo. Em MRC043 (Recepção de Pneus), o valor é lido no início e armazenado na flag booleana
dmMRC043.stValidaEstoqueNegativopara uso durante o fluxo de recepção.
N — Validação Desativada (Padrão)
| O que faz | Detalhe |
|---|---|
| Editável | Sim, via checkbox na aba Opção 2 |
| Exige | Nenhum |
| Restrição | Nenhuma — geração ocorre sem checagem de estoque |
Quando desmarcado (valor padrão), o sistema gera ordens de produção em MRC002 e MRC043 sem consultar a procedure VALIDA_ESTOQUEPRODUCAORECAP, não verificando se os insumos possuem estoque disponível.
Simulação passo a passo
- Acesse REC001 → aba Opção 2.
- Certifique-se de que o checkbox Valida Estoque Comprometido [MRC002/MRC024] está desmarcado.
- Salve o cadastro de parâmetros.
- Acesse MRC002 e selecione um pneu/serviço para gerar a ordem de produção.
- Clique em confirmar / gerar a produção.
- A ordem é gerada diretamente, sem verificação de estoque, mesmo que os insumos estejam com saldo zero ou negativo.
Resultado esperado: Ordem de produção gerada imediatamente sem qualquer alerta de estoque, independente da disponibilidade de insumos.
Excecao / Importante: Em MRC043, quando o valor é
N, a flagdmMRC043.stValidaEstoqueNegativoé definida comoFalse, desativando a validação também no fluxo de recepção de pneus.
Tabela Comparativa Resumida
| Valor | Validação de Estoque | Comportamento ao Gerar OP |
|---|---|---|
| S | Ativa | Alerta com lista de itens sem estoque; operador pode continuar ou cancelar |
| N | Inativa | Geração direta sem checagem de estoque |
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TformMRC002.actionAbrirExecute | source/MRC002/UformMRC002.pas | 330 | if (dmMRC002.paramrecap.Values['ST_VALIDAESTOQUENEGATIVOMRC002'] = 'S') then — chama VALIDA_ESTOQUEPRODUCAORECAP e exibe alerta |
iniciar (MRC043) | source/MRC043/UMRC043.pas | 145 | Lê o campo na query de PARAMRECAP e armazena em dmMRC043.stValidaEstoqueNegativo |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas | 867 | Define valor padrão 'N' ao inserir novo registro |
chkST_VALIDAESTOQUENEGATIVOMRC002MouseMove | source/REC001/UframeREC001.pas | 1951 | Evento visual (hint/tooltip) do checkbox |
Referências SQL ao campo
Nenhuma referência direta ao campo ST_VALIDAESTOQUENEGATIVOMRC002 foi encontrada em scripts SQL. A validação de estoque é feita pela procedure VALIDA_ESTOQUEPRODUCAORECAP, chamada pelo código Delphi quando o parâmetro está ativo.
Candidatas por uso da tabela
Procedures que acessam PARAMRECAP mas não citam o campo ST_VALIDAESTOQUENEGATIVOMRC002 diretamente. Não há impacto funcional direto confirmado destas rotinas sobre este parâmetro:
| Procedure | Arquivo |
|---|---|
ATUALIZA_PEDIDONOTA | Scripts/ATUALIZA_PEDIDONOTA.sql |
ATUALIZA_PREVISAOORDEMPROD | Scripts/ATUALIZA_PREVISAOORDEMPROD.sql |
ATUALIZA_STFATURAAUTO | Scripts/ATUALIZA_STFATURAAUTO.sql |
CANCELA_ESTOQUERECAP | Scripts/CANCELA_ESTOQUERECAP.sql |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql |
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql |
GERA_ORDEMPRODUCAORECAP | Scripts/GERA_ORDEMPRODUCAORECAP.sql |
GERA_PRODACABAMENTO | Scripts/GERA_PRODACABAMENTO.sql |
GERA_PRODAPLICACAOCOLA | Scripts/GERA_PRODAPLICACAOCOLA.sql |
GERA_PRODAPLICACAOCONSERTO | Scripts/GERA_PRODAPLICACAOCONSERTO.sql |
GERA_PRODBANDA | Scripts/GERA_PRODBANDA.sql |
(lista parcial — há mais procedures que acessam PARAMRECAP sem citar o campo)