ST_EXIGEMOTIVOLIBERACAO — Exigir Motivo de Liberação da OS
Tela de configuração: OFI001 — Parâmetros de Oficina Localização: Aba Ordem 1 → Checkbox "Exigir motivo Liberação OS" Tabela / Campo:
PARMOFICINA.ST_EXIGEMOTIVOLIBERACAO—CHAR(1), NOT NULL, DEFAULT'N'Valor padrão:N(Não exige)
Telas impactadas
| Tela | Descrição | Efeito |
|---|---|---|
| MOF001 | Manutenção de Ordem de Serviço | Ao clicar em Liberar uma OS bloqueada, valida se o motivo foi preenchido; torna o rótulo "Motivo de Liberação" em negrito |
| MOF007 | Ordem de Serviço (modelo 1) | Torna o campo memoDS_LIBERACAO editável quando status = 'A'; valida no BeforePost |
| MOF008 | Ordem de Serviço (modelo 2) | Mesmo comportamento do MOF007 — habilita memo e valida no BeforePost |
| VIEW_DOCUMENTOSBLOQUEADOS | Consulta de documentos bloqueados | Quando documento é ORDEMSERVICO, lê po.ST_EXIGEMOTIVOLIBERACAO para determinar se o motivo é exigido na análise de liberação |
Campos envolvidos
| Campo | Tabela | Função |
|---|---|---|
ST_EXIGEMOTIVOLIBERACAO | PARMOFICINA | Parâmetro (este) — controla a obrigatoriedade |
DS_LIBERACAO | ORDEMSERVICO | Campo de texto onde o usuário digita o motivo da liberação |
ST_OSTELA | ORDEMSERVICO | Status da OS na tela — quando 'A' (Aberta/Em Andamento), o memo é habilitado |
ST_ORDEMSERVICO | ORDEMSERVICO | Status da OS — quando 'B' (Bloqueada), a ação de liberação é permitida |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| S — Exige motivo de liberação | O campo "Motivo de Liberação" (DS_LIBERACAO) torna-se obrigatório para liberar OS bloqueadas ou para salvar OS com status 'A'. O rótulo fica em negrito como indicador visual. |
| N — Não exige (padrão) | O campo permanece somente leitura (fundo cinza) e não há validação de preenchimento. |
S — Exigir Motivo de Liberação
| O que faz | Detalhe |
|---|---|
| Editável / Bloqueado | Editável pelo usuário na tela OFI001 |
| Exige | Preenchimento de DS_LIBERACAO ao liberar OS bloqueada ou salvar OS com status 'A' |
| Restrição | Se DS_LIBERACAO estiver vazio, o sistema exibe erro e impede a operação |
Simulação passo a passo
Cenário 1 — Liberação direta pela MOF001 (OS bloqueada)
- Acesse OFI001 (Parâmetros de Oficina), aba Ordem 1.
- Marque o checkbox "Exigir motivo Liberação OS" e salve.
- Abra a tela MOF001 (Manutenção de Ordem de Serviço).
- Localize uma OS com status Bloqueada (
ST_ORDEMSERVICO = 'B'). - Clique no botão Liberar sem preencher o campo "Motivo de Liberação".
- O sistema exibirá a mensagem: "É Obrigatório Informar o Motivo de Liberação da Ordem de Serviço!".
- Preencha o motivo (ex.: "Aprovado pelo gerente — chamado 12345").
- Clique novamente em Liberar.
Resultado esperado: A OS é liberada com sucesso. O campo DS_LIBERACAO é gravado com o texto informado e o autorizador (CD_AUTORIZADOR) é registrado automaticamente.
Cenário 2 — Edição de status na MOF007 / MOF008
- Com o parâmetro marcado como S, abra uma OS na tela MOF007 ou MOF008.
- Altere o campo de status da OS (
ST_OSTELA) para 'A' (Aberta/Em Andamento). - Observe que o campo "Motivo de Liberação" (memo) fica editável (fundo branco, texto preto) e o rótulo fica em negrito.
- Tente salvar (
<Ctrl+S>ou botão Salvar) sem digitar nada no memo. - O sistema exibirá a mensagem: "É Obrigatório Informar o Motivo de Liberação da Ordem de Serviço!".
- Digite o motivo (ex.: "Liberação parcial — aguardando peça").
- Salve novamente.
Resultado esperado: O registro é salvo com o motivo preenchido. O campo CD_AUTORIZADOR é preenchido automaticamente com o código do usuário logado.
N — Não Exigir (Padrão)
| O que faz | Detalhe |
|---|---|
| Editável / Bloqueado | Editável pelo usuário na tela OFI001 |
| Exige | Nenhuma validação sobre DS_LIBERACAO |
| Restrição | O campo memo fica somente leitura (fundo cinza) nas telas MOF007/MOF008 |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina), aba Ordem 1.
- Certifique-se de que o checkbox "Exigir motivo Liberação OS" esteja desmarcado.
- Abra uma OS bloqueada na MOF001 e clique em Liberar sem preencher motivo.
Resultado esperado: A OS é liberada normalmente, sem exigir o motivo. O campo memo permanece somente leitura nas telas MOF007/MOF008.
Regra Geral de Liberação
- O parâmetro controla apenas a obrigatoriedade do campo
DS_LIBERACAO; não interfere no fluxo de aprovação por autorizador. - Para que a liberação funcione, o usuário precisa ter perfil de Autorizador (
iST_AUTORIZADOR = 'S'), configurado emADM012 — Parâmetros do UsuárioouTFA008 — Autorizador. - A OS deve estar com status Bloqueada (
ST_ORDEMSERVICO = 'B') para que a ação "Liberar" esteja disponível na MOF001. - Nas telas MOF007/MOF008, o memo só é habilitado quando
ST_OSTELA = 'A'; para outros status, o campo permanece bloqueado independentemente deste parâmetro. - A
VIEW_DOCUMENTOSBLOQUEADOSutiliza este parâmetro para determinar, no contexto de documentos bloqueados do tipoORDEMSERVICO, se o motivo é exigido na análise de liberação.
Exceção / Importante: O parâmetro
ST_EXIGEMOTIVOLIBERACAOé lido da tabelaPARMOFICINApor empresa (CD_EMPRESA). Cada empresa pode ter uma configuração diferente. O valor é carregado em memória viaparmOficina.Values[...]e aplicado em tempo de execução nas telas de manutenção de OS.