ST_IMPAUTORIZACAO — Impressão de Autorização
Tela de configuração: OFI001 — Parâmetros da Oficina Localização: Aba Layouts → Grupo Autorização → campo Imprime Tabela / Campo:
PARMOFICINA.ST_IMPAUTORIZACAO(CHAR(1)) Valor padrão:S(Sim)
Visão Geral
Controla se o sistema deve gerar automaticamente o relatório de Autorização de Serviço ao salvar/processar uma Ordem de Serviço no módulo MOF001.
O valor é carregado via Busca_Parametros e armazenado na variável iST_IMPAUTORIZACAO do datamodule da OS (MOF001 / MOF006). Ao imprimir a OS, a rotina imprime avalia este parâmetro para decidir se inclui o documento de autorização.
Campos Relacionados
| Campo | Descrição | Obrigatório quando |
|---|---|---|
CD_LAYOUTAUTORIZACAO | Código do layout de impressão (até 6 caracteres) | ST_IMPAUTORIZACAO <> N |
TP_IMPAUTORIZACAO | Tipo de saída: I (Imprime) / V (Visualiza) | ST_IMPAUTORIZACAO <> N |
Todos configurados na mesma aba Layouts, grupo Autorização da tela OFI001.
Opções Disponíveis
S — Sim (Imprimir sempre)
| O que faz | Detalhe |
|---|---|
| Imprime autorização automaticamente | Ao salvar/processar a OS, o relatório é gerado sem perguntar |
| Exige layout configurado | CD_LAYOUTAUTORIZACAO deve estar preenchido |
| Editável | Valor padrão para novos registros |
Simulação passo a passo
- Acesse OFI001 (Parâmetros da Oficina).
- Vá até a aba Layouts, grupo Autorização.
- No campo Imprime, selecione Sim.
- No campo Layout, informe o código do layout de autorização (ex:
LAO001). - No campo Tipo Impressão, escolha Imprime ou Visualiza.
- Salve as alterações.
- Acesse o módulo MOF001 (Ordem de Serviço) e abra uma OS.
- Salve ou processe a OS.
- O relatório de autorização será gerado automaticamente junto com a OS.
Resultado esperado: O relatório de autorização é impresso/visualizado automaticamente toda vez que a OS é processada, sem nenhuma pergunta ao usuário.
N — Não (Não imprimir)
| O que faz | Detalhe |
|---|---|
| Desabilita a impressão de autorização | O relatório de autorização nunca é gerado |
| Layout não obrigatório | CD_LAYOUTAUTORIZACAO pode ficar em branco |
| Sem impacto no fluxo | A OS é salva/processada normalmente sem o documento |
Simulação passo a passo
- Acesse OFI001 (Parâmetros da Oficina).
- Vá até a aba Layouts, grupo Autorização.
- No campo Imprime, selecione Não.
- Salve as alterações.
- Acesse o módulo [MOF001] e processe uma OS.
- Nenhum relatório de autorização será gerado.
Resultado esperado: A OS é processada sem gerar o documento de autorização. O campo de layout não é validado.
P — Perguntar
| O que faz | Detalhe |
|---|---|
| Exibe mensagem de confirmação | Antes de gerar o relatório, o sistema exibe a mensagem C-1699 perguntando se deseja imprimir |
| Exige layout configurado | CD_LAYOUTAUTORIZACAO deve estar preenchido |
| Respeita a decisão do operador | Se o usuário responder "Não", o relatório não é gerado naquela operação |
Simulação passo a passo
- Acesse OFI001 (Parâmetros da Oficina).
- Vá até a aba Layouts, grupo Autorização.
- No campo Imprime, selecione Perguntar.
- No campo Layout, informe o código do layout (ex:
LAO001). - Salve as alterações.
- Acesse o módulo MOF001 e processe uma OS.
- O sistema exibirá a mensagem C-1699 perguntando se deseja imprimir a autorização.
- Responda Sim para imprimir ou Não para ignorar.
Resultado esperado: A cada processamento de OS, o operador decide se deseja ou não gerar o relatório de autorização.
Validação no Salvar
Ao salvar os parâmetros em OFI001, o sistema valida:
Se ST_IMPAUTORIZACAO <> 'N' e CD_LAYOUTAUTORIZACAO está vazio
→ Exibe mensagem W-1819: "Autorização"
→ Impede o salvamento
Ou seja, sempre que a impressão de autorização estiver habilitada (S ou P), o código do layout é obrigatório.
Tabela Comparativa
| Valor | Imprime sempre | Pergunta ao operador | Layout obrigatório | Valor padrão |
|---|---|---|---|---|
S (Sim) | ✓ | — | ✓ | ✓ |
N (Não) | — | — | — | — |
P (Perguntar) | — | ✓ | ✓ | — |
Procedures Impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
imprime | source/MOF001/UMOF001.pas | 908 | if (dmMOF001.iST_IMPAUTORIZACAO = 'S') then |
imprime | source/MOF001/UMOF001.pas | 911 | if (dmMOF001.iST_IMPAUTORIZACAO = 'P') and (msgCodigo('C-1699')) then |
Busca_Parametros | source/MOF001/UdmMOF001.pas | 667 | Seleciona o campo na consulta SQL |
Busca_Parametros | source/MOF006/UdmMOF006.pas | 268 | Seleciona o campo na consulta SQL |
TfrmOFI001.ASalvarExecute | source/OFI001/UOFI001.pas | 380 | Valida layout obrigatório quando <> N |
tabPARMOFICINAAfterInsert | source/OFI001/UdmOFI001.pas | 354 | Define valor padrão S |
Referências SQL diretas ao campo
Nenhuma referência direta a ST_IMPAUTORIZACAO foi encontrada em Scripts/*.sql. O campo é lido exclusivamente via Delphi (Busca_Parametros).
Candidatas por uso da tabela PARMOFICINA
Procedures/views que fazem JOIN ou SELECT na tabela PARMOFICINA, mas não citam o campo ST_IMPAUTORIZACAO diretamente — impacto funcional não confirmado:
| 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 / VIEW_ROF004B / VIEW_ROF004B_V2 | Scripts/VIEW_ROF004*.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |