Pular para o conteúdo principal

ST_BLOQUEIAITEMORCAMENTO

Tela de configuração: OFI001 — Parâmetros de Oficina Localização: Aba Ordem 1 Componente: DBCheckBox1 (checkbox) Tabela / Campo: PARMOFICINA.ST_BLOQUEIAITEMORCAMENTO — CHAR(1) NOT NULL, valor padrão 'N'

Controla se itens de uma Ordem de Serviço que foram importados a partir de um Orçamento podem ou não ser editados. Quando ativado, qualquer tentativa de alterar um item que possua número de orçamento vinculado (NR_ORCAMENTO) gera uma exceção e impede a edição.

Telas impactadas​

TelaMóduloImpacto
OFI001Ordem de ServiçoConfiguração do parâmetro (aba Ordem 1)
MOF001Ordem de Serviço (Manutenção)Bloqueio efetivo na edição de itens de peça e serviço

Campos envolvidos​

CampoTabelaPapel
ST_BLOQUEIAITEMORCAMENTOPARMOFICINAAtiva/desativa o bloqueio (S/N)
NR_ORCAMENTOORDEMSERVITEM / SERVICOITEMIdentifica a origem do item — se preenchido, o item veio de um Orçamento

Opções disponíveis​

S — Bloqueia alteração de itens oriundos de Orçamento​

O que fazDetalhe
Editável?Checkbox marcado
ComportamentoItens de peça e serviço vinculados a um orçamento ficam somente leitura na OS

Simulação passo a passo​

  1. Acesse OFI001 → Aba Ordem 1.
  2. Marque o checkbox "Bloqueia alteração de itens oriundos de Orçamento".
  3. Salve o parâmetro.
  4. Abra uma OS que tenha sido gerada a partir de um Orçamento (MOF001).
  5. Localize um item de peça ou serviço que possua NR_ORCAMENTO preenchido.
  6. Tente alterar a quantidade, o valor ou qualquer dado do item.
  7. O sistema exibirá a mensagem: "Não é permitido alterar Item oriundo de Orçamento!" e a edição será cancelada.

Resultado esperado: O item importado do orçamento permanece inalterável — nenhuma edição de quantidade, preço ou descrição é aceita. Itens que não vieram de orçamento podem ser editados normalmente.

N — Não bloqueia (padrão)​

O que fazDetalhe
Editável?Checkbox desmarcado
ComportamentoTodos os itens da OS, independentemente da origem, podem ser editados livremente

Simulação passo a passo​

  1. Acesse OFI001 → Aba Ordem 1.
  2. Desmarque o checkbox "Bloqueia alteração de itens oriundos de Orçamento" (ou mantenha-o no estado padrão).
  3. Salve o parâmetro.
  4. Abra uma OS que tenha sido gerada a partir de um Orçamento (MOF001).
  5. Localize um item de peça ou serviço com NR_ORCAMENTO preenchido.
  6. Altere a quantidade, o valor ou outro dado do item e salve.

Resultado esperado: O item é editado normalmente, sem nenhuma restrição, mesmo tendo vindo de um orçamento.

Tabela comparativa resumida​

ValorCheckboxEfeito sobre itens de orçamentoEfeito sobre itens sem orçamento
SMarcadoBloqueado — edição impedidaLivre para edição
NDesmarcadoLivre para ediçãoLivre para edição

Regra geral​

  • O bloqueio é verificado no evento BeforeEdit dos datasets de itens de peça (tabORDEMSERVITEM) e de serviço (tabSERVICOITEM) na tela MOF001.
  • A verificação é simples: se o campo NR_ORCAMENTO do item estiver preenchido, a edição é barrada com exceção.
  • Não há configuração de autorizador ou usuário especial que contorne este bloqueio — a restrição é aplicada a todos os usuários igualmente.

Excecao / Importante: O bloqueio se aplica somente durante a edição de itens já existentes na OS. Inclusão de novos itens ou exclusão de itens não são afetados por este parâmetro. O campo NR_ORCAMENTO deve estar preenchido no item para que o bloqueio seja acionado.

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaEvidência
TdmMOF001.BloqueiaAlteracaoOrcamentosource/MOF001/UdmMOF001.pas7034if (ParmOficina.Values['ST_BLOQUEIAITEMORCAMENTO'] = 'S') then — lança exceção se item tem NR_ORCAMENTO preenchido
TdmOFI001.tabPARMOFICINAAfterInsertsource/OFI001/UdmOFI001.pas377tabPARMOFICINAST_BLOQUEIAITEMORCAMENTO.AsString := 'N'; — define valor padrão no insert

Chamadores do bloqueio​

RotinaArquivoLinhaEvidência
TdmMOF001.tabORDEMSERVITEMBeforeEditsource/MOF001/UdmMOF001.pas7041Chama BloqueiaAlteracaoOrcamento(DataSet) antes da edição de itens de peça
TdmMOF001.tabSERVICOITEMBeforeEditsource/MOF001/UdmMOF001.pas7047Chama BloqueiaAlteracaoOrcamento(DataSet) antes da edição de itens de serviço

Referências SQL diretas ao campo​

Nenhuma referência direta ao campo ST_BLOQUEIAITEMORCAMENTO foi encontrada em procedures ou views SQL (Scripts/). A lógica de bloqueio é tratada exclusivamente na camada Delphi (aplicação).

Candidatas por uso da tabela PARMOFICINA​

As procedures/views abaixo fazem join com PARMOFICINA mas não citam o campo ST_BLOQUEIAITEMORCAMENTO — não há impacto funcional direto identificado para este parâmetro:

  • PARCELA_FINANC_MNF017
  • PARCELA_FINANCIAMENTO
  • REABRE_OS
  • RETORNA_MOTIVOBLOQUEIO
  • RETORNA_PRECOITEM
  • VERIFICA_BLOQUEIO
  • VIEW_DOCUMENTOSBLOQUEADOS
  • VIEW_ROF004 / VIEW_ROF004B / VIEW_ROF004B_V2
  • VIEW_ROF008