ST_BLOQUEIADESC — Bloquear Alteração da Descrição dos Serviços/Peças
Tela de configuração: OFI001 — Parâmetros da Oficina Localização: Aba Ordem 1 Componente:
chkST_BLOQUEIADESCMOF001(checkbox) Tabela / Campo:PARMOFICINA.ST_BLOQUEIADESC—CHAR(1), default'N'
Quando ativado, impede que o operador altere a descrição de serviços e peças já vinculados a uma Ordem de Serviço (MOF001). O bloqueio é aplicado exclusivamente na camada Delphi (client-side), tornando os campos de descrição somente-leitura.
Telas impactadas
| Tela | Formulário | Efeito |
|---|---|---|
| MOF001 | Ordem de Serviço | Campos de descrição de serviços e peças ficam ReadOnly |
Campos envolvidos
| Tabela | Campo | Quando 'S' |
|---|---|---|
ORDEMSERVITEM | DS_SERVICO | ReadOnly (descrição do serviço na OS) |
SERVICOITEM | DS_ITEM | ReadOnly (descrição do item de serviço) |
ITEMCONSUMO | DS_ITEM | ReadOnly (descrição do item de consumo/peça) |
Opções disponíveis
S — Bloquear Alteração de Descrição
| O que faz | Detalhe |
|---|---|
| Editável | Não — campos de descrição ficam somente-leitura |
| Exige | Nenhuma condição adicional |
| Restrição | Afeta somente MOF001 (Ordem de Serviço) |
Simulação passo a passo
- Acesse OFI001 → Parâmetros → aba Ordem 1.
- Marque o checkbox "Bloquear Alteração da Descrição" (
chkST_BLOQUEIADESCMOF001). - Salve os parâmetros.
- Abra uma MOF001 (Ordem de Serviço) com serviços e/ou peças já adicionados.
- Tente editar o campo Descrição em um serviço listado na grade.
- Tente editar o campo Descrição em um item de consumo/peça listado.
Resultado esperado: Os campos de descrição (DS_SERVICO, DS_ITEM) estão travados (somente-leitura) e não aceitam digitação. O operador consegue alterar quantidade, valores e outros campos, mas não a descrição do item.
N — Permitir Alteração de Descrição (Padrão)
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campos de descrição permanecem editáveis |
| Exige | Nenhuma |
| Restrição | Nenhuma |
Simulação passo a passo
- Acesse OFI001 → Parâmetros → aba Ordem 1.
- Certifique-se de que o checkbox "Bloquear Alteração da Descrição" está desmarcado.
- Salve os parâmetros.
- Abra uma MOF001 (Ordem de Serviço) com serviços e/ou peças.
- Edite o campo Descrição de um serviço ou peça na grade.
Resultado esperado: Os campos de descrição permitem edição livre. O operador pode alterar o texto descritivo de serviços e itens de consumo normalmente.
Exceção / Importante: Quando
ST_BLOQUEIADESC = 'N', o código não restaura explicitamenteITEMCONSUMO.DS_ITEMpara editável (a linha está comentada no fonte). Caso o campo tenha sido bloqueado por outro mecanismo, pode permanecer somente-leitura mesmo com o parâmetro desmarcado. Reiniciar a tela resolve.
Regra Geral
- O bloqueio é aplicado no evento
iniciarde MOF001, logo ao abrir a tela. - Quando
ST_BLOQUEIADESC = 'S', apenas a descrição é travada; quantidade, valores unitários e descontos permanecem editáveis (sujeitos a outros parâmetros). - O campo
ST_BLOQUEIADESCPROM(configurado em MFA001 — Parâmetros de Faturamento, tabelaPARMFATUR) controla bloqueio de descontos por promoção em notas e pedidos — é um parâmetro distinto e sem relação direta com este.
Tabela Comparativa Resumida
| Valor | Descrição dos Serviços | Descrição dos Itens de Consumo |
|---|---|---|
'S' | Somente-leitura | Somente-leitura |
'N' | Editável | Editável (exceto se travado por outro mecanismo) |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
iniciar | source/MOF001/UMOF001.pas | 521 | if (ParmOficina.Values['ST_BLOQUEIADESC'] = 'S') then — torna ReadOnly os campos de descrição |
Scripts SQL com referência direta ao campo
Nenhuma referência direta a PARMOFICINA.ST_BLOQUEIADESC foi encontrada em procedures ou views SQL. O bloqueio é aplicado inteiramente na camada Delphi (client-side).
Nota: A procedure
VALIDA_BLOQDESCMAXSUBGRUPO(Scripts/VALIDA_BLOQDESCMAXSUBGRUPO.sql) utiliza uma variável localV_ST_BLOQUEIADESCONTOque não tem relação com o campoPARMOFICINA.ST_BLOQUEIADESC. Essa variável é interna à validação de desconto máximo por subgrupo e opera sobre a tabelaPARMFATUR.
Candidatas por uso da tabela
Estas procedures/views usam a tabela PARMOFICINA, mas não citam o campo ST_BLOQUEIADESC diretamente. Não há impacto funcional comprovado:
| Procedure/View | Arquivo |
|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql |
REABRE_OS | Scripts/REABRE_OS.sql |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |