STPERMITECOLETABLOQUEADA — Permite Coleta Bloqueada
Tela de configuração: REC001 — Parâmetros de Recapadora Localização: Tela principal → Checkbox
STPERMITECOLETABLOQUEADATabela / Coluna:PARAMRECAP.STPERMITECOLETABLOQUEADATipo:SMALLINT(0 ou 1) Valor padrão:0(Não Permite)
Controla se o sistema permite gerar ordens de produção/coleta a partir de pedidos de recapadora que estão bloqueados (STPEDIDO = 'B'), e se a liberação automática de pedidos de faturamento vinculados ocorre ao desbloquear a coleta.
Telas impactadas
| Tela | Módulo | Efeito |
|---|---|---|
| MRC002 | Geração de Ordens de Produção | Bloqueia ou permite marcar pedidos bloqueados para geração de OP |
| MRC005 | Liberação / Desbloqueio de Coleta | Libera automaticamente pedidos de faturamento bloqueados ao desbloquear coleta |
| MRC040 | Liberação / Desbloqueio de Coleta | Libera automaticamente pedidos de faturamento bloqueados ao desbloquear coleta |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
STPERMITECOLETABLOQUEADA | PARAMRECAP | Flag principal (0/1) |
STPEDIDO | PEDIDOPNEU | Status do pedido de coleta (B = Bloqueado, N = Normal, P = Parcial, T = Total) |
ST_PEDIDO | PEDIDO | Status do pedido de faturamento (B = Bloqueado) |
DSBLOQUEIO | PEDIDOPNEU | Motivo do bloqueio do pedido de coleta |
CD_USUARIODESBL | PEDIDOPNEU | Usuário que desbloqueou a coleta |
Opções disponíveis
0 — Não Permite (Padrão)
| O que faz | Detalhe |
|---|---|
| Bloqueia uso de pedidos de recapadora com status "Bloqueado" | O sistema impede que pedidos com STPEDIDO = 'B' sejam selecionados para geração de ordens de produção |
| Alteração de status do pedido de coleta | Ao inserir ordem de produção, o pedido é atualizado para P (Parcial) ou T (Total) |
| Desbloqueio de coleta | Ao desbloquear uma coleta, os pedidos de faturamento vinculados não são liberados automaticamente |
Simulação passo a passo
- Acesse REC001 e certifique-se de que o checkbox
STPERMITECOLETABLOQUEADAestá desmarcado (valor0). - Salve os parâmetros.
- Acesse MRC002 (Geração de Ordens de Produção).
- Localize um pedido de recapadora com status Bloqueado (
STPEDIDO = 'B'). - Tente marcar o pedido clicando na coluna de seleção.
- O sistema exibirá a mensagem: "A ordem de produção não pode ser gerada porque o pedido está bloqueado!".
- Se usar o botão Marcar Todas, pedidos bloqueados serão automaticamente ignorados.
Resultado esperado: Nenhuma ordem de produção é gerada a partir de pedidos bloqueados. O fluxo só continua com pedidos em status normal.
Excecao / Importante: Se o pedido de coleta for desbloqueado posteriormente (via MRC005 ou MRC040), os pedidos de faturamento vinculados não terão liberação automática — é necessário desbloqueá-los manualmente no módulo de faturamento.
1 — Permite Coleta Bloqueada
| O que faz | Detalhe |
|---|---|
| Permite uso de pedidos bloqueados | Pedidos com STPEDIDO = 'B' podem ser marcados para geração de ordens de produção em MRC002 |
| Mantém pedido de coleta bloqueado | Ao inserir OP via trigger, o pedido de coleta permanece com STPEDIDO = 'B' |
| Propaga bloqueio ao pedido de faturamento | Ao fechar a OP, o pedido de faturamento vinculado recebe ST_PEDIDO = 'B' com o mesmo motivo de bloqueio da coleta |
| Liberação automática ao desbloquear | Ao desbloquear a coleta (MRC005/MRC040), os pedidos de faturamento bloqueados vinculados são liberados automaticamente |
Simulação passo a passo
- Acesse REC001 e marque o checkbox
STPERMITECOLETABLOQUEADA(valor1). - Salve os parâmetros.
- Acesse MRC002 (Geração de Ordens de Produção).
- Localize um pedido de recapadora com status Bloqueado (
STPEDIDO = 'B'). - Marque o pedido clicando na coluna de seleção — o sistema permite a marcação.
- Confirme a geração da ordem de produção.
- Verifique o status do pedido de coleta: ele permanece Bloqueado (
STPEDIDO = 'B'). - Acesse MRC005 ou MRC040 e localize a coleta correspondente.
- Execute a ação de Desbloquear a coleta, informando o motivo da liberação.
- O sistema desbloqueia a coleta e libera automaticamente os pedidos de faturamento bloqueados que foram originados dessa coleta, removendo o bloqueio (
ST_PEDIDOalterado deBparaN).
Resultado esperado: É possível trabalhar com pedidos bloqueados desde o início do fluxo. Ao final (desbloqueio da coleta), todos os pedidos de faturamento vinculados são liberados em cadeia, eliminando a necessidade de desbloqueio manual.
Excecao / Importante: Na geração da OP (FECHA_ORDEMPRODUCAORECAP), se a coleta estiver bloqueada (
V_STPEDIDOPNEU = 'B'), o pedido de faturamento herdará o mesmo motivo de bloqueio (DSBLOQUEIO). Se a coleta nunca esteve bloqueada, o sistema executa a rotinaVERIFICA_BLOQUEIOPEDIDORECAPpara determinar se há outros motivos de bloqueio.
Regra Geral de Sincronização
O parâmetro afeta dois momentos distintos do fluxo:
- Início do fluxo (MRC002 / Trigger): Define se pedidos bloqueados podem ser usados para gerar ordens de produção.
- Fim do fluxo (FECHA_ORDEMPRODUCAORECAP / MRC005 / MRC040): Define se o bloqueio é propagado do pedido de coleta para o pedido de faturamento e se a liberação é automática em cadeia.
Tabela Comparativa Resumida
| Aspecto | 0 (Não Permite) | 1 (Permite) |
|---|---|---|
| Gerar OP a partir de pedido bloqueado | Bloqueado com mensagem de erro | Permitido |
| Status do pedido de coleta após gerar OP | Alterado para P ou T | Mantido em B (Bloqueado) |
| Propagação de bloqueio ao pedido de faturamento | Não ocorre (pedido não é usado) | Sim — mesmo motivo de bloqueio |
| Desbloqueio automático de pedidos de faturamento | Não | Sim — ao desbloquear a coleta |
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMRC002.qryConsultaCHECKEDValidate | source/MRC002/UdmMRC002.pas:398 | Verifica se valor é '0' para bloquear marcação |
TformMRC002.gridCadastroMouseUp | source/MRC002/UformMRC002.pas:624 | Impede seleção individual de pedido bloqueado |
TformMRC002.buttonMarcarTodasClick | source/MRC002/UformMRC002.pas:660 | Ignora pedidos bloqueados no "Marcar Todas" |
TformMRC005.actionDesbloquearExecute | source/MRC005/UformMRC005.pas:472 | Busca pedidos de faturamento bloqueados para liberação automática |
TformMRC040.actionDesbloquearExecute | source/MRC040/UformMRC040.pas:559 | Busca pedidos de faturamento bloqueados para liberação automática |
TdmREC001.qryCadastroAfterInsert | source/REC001/UdmREC001.pas:981 | Define valor padrão '0' ao inserir novo registro |
Referências SQL diretas ao campo
| Procedure/Script | Arquivo | Evidência |
|---|---|---|
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql:401,877 | Verifica V_STPERMITECOLETABLOQUEADA para propagar bloqueio ao pedido de faturamento |
TRGAI_ORDEMPRODUCAORECAP | Scripts/TRGAI_ORDEMPRODUCAORECAP.sql:55,128 | Verifica v_stpermitecoletabloqueada para decidir se mantém pedido bloqueado |
Candidatas por uso da tabela PARAMRECAP
As demais procedures listadas no inventário utilizam a tabela PARAMRECAP mas não fazem referência direta ao campo STPERMITECOLETABLOQUEADA. Não há impacto funcional direto confirmado nessas rotinas para este parâmetro.