ST_BLOQUEIAALTERCAOPEDIDOOS - Bloqueia Alteração de Pedido Gerado por OS
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela:
PARMFATUR.ST_BLOQUEIAALTERCAOPEDIDOOSValor padrão:N(Não)
Controla se pedidos de venda gerados automaticamente a partir de uma Ordem de Serviço podem sofrer alterações. Quando ativado, o sistema impede a edição, remoção de itens e acerto final de conferência desses pedidos.
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| MPD002 | Pedidos | Impede alteração de pedido gerado por OS |
| MPD097 | Conferência de Pedidos | Impede remoção de itens e acerto final de pedido gerado por OS |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
NR_ORDEMSERVICO | PEDIDO | Número da Ordem de Serviço que gerou o pedido; quando preenchido, indica que o pedido é originário de uma OS |
Opções disponíveis
S - Sim (Bloqueia alteração)
| O que faz | Detalhe |
|---|---|
| Bloqueia edição de pedido originário de OS | Verifica se NR_ORDEMSERVICO está preenchido no pedido; se sim, exibe aviso e aborta a operação |
| Aplica-se na tela de Pedidos (MPD002) | Na validação ao tentar alterar um pedido |
| Aplica-se na Conferência (MPD097) | Ao remover produtos e ao salvar acerto final de conferência |
| Não exige parâmetro adicional | Funciona de forma independente |
Simulação passo a passo
- Acesse MFA001 → Parâmetros → Opção 2.
- No campo "Parâmetros de Pedidos/Ordem de Serviço", selecione Sim.
- Salve os parâmetros.
- Na tela MPD002 - Pedidos, tente alterar um pedido que foi gerado por uma Ordem de Serviço (campo
NR_ORDEMSERVICOpreenchido). - O sistema exibe a mensagem: "O Pedido 1234 foi gerado pela Ordem de Serviço Nº 567 e não pode ser alterado. Verifique [MOF001/MFA001]!" e bloqueia a operação.
Exceção / Importante: O bloqueio aplica-se a qualquer usuário, sem distinção de perfil ou autorização. Usuários com permissões de autorizador não bypassam esta regra — a única forma de alterar o pedido é mudando o parâmetro para
Nem MFA001.
Resultado esperado: Pedidos originários de Ordem de Serviço não podem ser alterados, nem ter itens removidos ou acerto final de conferência salvo.
N - Não (Permite alteração)
| O que faz | Detalhe |
|---|---|
| Permite edição livre de pedidos originários de OS | Nenhuma verificação extra é feita |
| Comportamento padrão do sistema | Valor default ao instalar |
Simulação passo a passo
- Acesse MFA001 → Parâmetros → Opção 2.
- No campo "Parâmetros de Pedidos/Ordem de Serviço", selecione Não.
- Salve os parâmetros.
- Na tela MPD002 - Pedidos, abra um pedido gerado por uma Ordem de Serviço e altere normalmente.
- Na tela MPD097 - Conferência, remova itens ou salve o acerto final sem restrições.
Resultado esperado: Pedidos originários de Ordem de Serviço podem ser editados, ter itens removidos e acerto final salvo sem nenhum bloqueio.
Regra Geral
A verificação é simples: ao tentar alterar um pedido (seja em MPD002 ou MPD097), o sistema consulta o campo NR_ORDEMSERVICO da tabela PEDIDO. Se esse campo estiver preenchido e o parâmetro ST_BLOQUEIAALTERCAOPEDIDOOS = 'S', a operação é abortada com mensagem de aviso. Não há exceções por perfil de usuário.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmMPD002.ValidaPedidoOS | source/MPD002/UMPD002.pas | Valida se pedido pode ser alterado; bloqueia se NR_ORDEMSERVICO preenchido e parâmetro = S |
TfrmMPD097.btnRemoverProdutosClick | source/MPD097/UMPD097.pas | Bloqueia remoção de itens do pedido gerado por OS |
TfrmMPD097.btnSalvarAcertoFinalPedidolClick | source/MPD097/UMPD097.pas | Bloqueia acerto final de conferência de pedido gerado por OS |
TdmMPD002.BuscaParametros_MPD002 | source/MPD002/UdmMPD002.pas | Carrega o parâmetro do banco para uso em MPD002 |
TdmMPD097.Busca_Parametros | source/MPD097/UdmMPD097.pas | Carrega o parâmetro do banco para uso em MPD097 |
Referências SQL diretas ao campo
Não foi encontrada referência direta ao campo ST_BLOQUEIAALTERCAOPEDIDOOS em scripts SQL (Scripts/). O controle é feito inteiramente em nível de aplicação (Delphi).
Candidatas por uso da tabela
As procedures/views abaixo utilizam a tabela PARMFATUR, mas não referenciam o campo ST_BLOQUEIAALTERCAOPEDIDOOS diretamente. Sem impacto funcional direto identificado:
ATUALIZA_PESSOA, ATUALIZA_PRECOVENDA, BUSCAPRECORECAP, CALCULA_CENTRORESULT, CALCULA_CENTRORESULTITEM, CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CALCULA_JUROVENDA, CALCULA_MAQUINA, CALCULA_MAQUINAFICHA, CANCELA_MESTRA, CANCELA_NOTAFISCAL, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, CONSOME_LOTEMATERIAPRIMA, CREDITOPERIODICO_AI0, CREDITOPERIODICOGRUPO_AI0, EXPORTACAO_ALLABOR, EXPORTACAO_DOMINIOCADASTROS, EXPORTACAO_DOMINIOCUPOM.
Tabela Comparativa Resumida
| Opção | Edita pedido de OS | Remove itens (MPD097) | Acerto final (MPD097) |
|---|---|---|---|
| S (Sim) | ❌ Bloqueado | ❌ Bloqueado | ❌ Bloqueado |
| N (Não) | ✅ Liberado | ✅ Liberado | ✅ Liberado |