CD_LAYOUTAUTORIZACAO - Layout de Impressao da Autorizacao
Tela de configuracao: OFI001 - Parametros da Oficina Localizacao: Aba Layouts → Campo Layout (edicao livre) Tabela / Campo:
PARMOFICINA.CD_LAYOUTAUTORIZACAO(DOM_VARCHAR6, ate 6 caracteres) Componente:edtCD_LAYOUTAUTORIZACAO(TDBEdit,CharCase = ecUpperCase) Valor padrao: Nao ha valor padrao definido (campo pode ficar em branco)
Visao Geral
Armazena o codigo do layout (ate 6 caracteres) utilizado para imprimir/visualizar o Relatorio de Autorizacao de Servico.
Este parametro nao funciona sozinho — ele e consumido pelas rotinas do modulo MOF001 (Ordem de Servico) e MOF006 junto com dois outros parametros da mesma aba:
| Parametro | Papel |
|---|---|
ST_IMPAUTORIZACAO | Liga/desliga a funcionalidade. Se N, ignora CD_LAYOUTAUTORIZACAO |
CD_LAYOUTAUTORIZACAO | Codigo do layout (ex: LAO000) |
TP_IMPAUTORIZACAO | Tipo de saida: I (Imprime direto) ou V (Visualiza/Preview) |
O valor e carregado via Busca_Parametros em MOF001 e MOF006 e passado ao gerador de relatorios como Parametros[1] (o relatorio usa o identificador 'LAO000').
Telas impactadas
| Tela | Impacto |
|---|---|
| MOF001 | Usa o layout ao gerar a autorizacao de servico |
| MOF006 | Usa o layout ao gerar a autorizacao de servico |
| OFI001 | Cadastro do parametro (aba Layouts) |
Campos envolvidos
| Campo | Tabela | Condição |
|---|---|---|
CD_LAYOUTAUTORIZACAO | PARMOFICINA | Obrigatorio quando ST_IMPAUTORIZACAO <> 'N' |
ST_IMPAUTORIZACAO | PARMOFICINA | Parametro controlador |
TP_IMPAUTORIZACAO | PARMOFICINA | Tipo de saida (quando layout esta preenchido) |
Opcoes disponiveis
O campo e um edit livre — o usuario digita qualquer codigo de ate 6 caracteres (convertido a maiusculas). O comportamento depende da combinacao com ST_IMPAUTORIZACAO e TP_IMPAUTORIZACAO:
Layout preenchido + ST_IMPAUTORIZACAO <> N
| O que faz | Detalhe |
|---|---|
| Ativa o relatorio de autorizacao | O codigo informado e enviado ao gerador de relatorios como parametro |
| Exige codigo valido | O layout deve existir no cadastro de layouts do sistema |
| Editavel | Sim, campo livre editavel em qualquer momento |
Simulacao passo a passo
- Acesse OFI001 (Parametros da Oficina).
- Vá ate a aba Layouts, grupo Autorizacao.
- No campo Imprime (
ST_IMPAUTORIZACAO), selecione Sim ou Perguntar. - No campo Layout (
CD_LAYOUTAUTORIZACAO), digite o codigo do layout (ex:LAO000). - No campo Tipo Impressao (
TP_IMPAUTORIZACAO), escolha Imprime ou Visualiza. - Salve os parametros.
- Acesse MOF001 (Ordem de Servico) e salve/processe uma OS.
- O sistema gera o relatorio de autorizacao usando o layout
LAO000.
Resultado esperado: O relatorio de autorizacao e impresso (ou exibido em preview, conforme TP_IMPAUTORIZACAO) com o layout configurado.
Excecao / Importante: Se
ST_IMPAUTORIZACAO <> 'N'eCD_LAYOUTAUTORIZACAOestiver vazio, ao tentar salvar os parametros em OFI001 o sistema bloqueia e exibe a mensagem de validacao: exige que o campo Layout seja preenchido. Essa validacao ocorre emTfrmOFI001.ASalvarExecute.
Layout vazio + ST_IMPAUTORIZACAO = N
| O que faz | Detalhe |
|---|---|
| Desativa a impressao de autorizacao | Nenhum relatorio e gerado |
| Isenta preenchimento | CD_LAYOUTAUTORIZACAO pode permanecer em branco |
| Economico | Nenhuma chamada ao gerador de relatorios |
Simulacao passo a passo
- Acesse OFI001 (Parametros da Oficina).
- Vá ate a aba Layouts, grupo Autorizacao.
- No campo Imprime (
ST_IMPAUTORIZACAO), selecione Nao. - Deixe o campo Layout (
CD_LAYOUTAUTORIZACAO) em branco. - Salve os parametros.
- Acesse MOF001 e processe uma OS.
Resultado esperado: A OS e processada sem gerar nenhum relatorio de autorizacao.
Layout vazio + ST_IMPAUTORIZACAO <> N (erro)
| O que faz | Detalhe |
|---|---|
| Bloqueia o salvamento | OFI001 nao aceita salvar com ST_IMPAUTORIZACAO <> 'N' e layout vazio |
| Exibe mensagem de erro | A validacao em ASalvarExecute impede a gravacao |
Simulacao passo a passo
- Acesse OFI001 (Parametros da Oficina).
- Vá ate a aba Layouts, grupo Autorizacao.
- No campo Imprime (
ST_IMPAUTORIZACAO), selecione Sim ou Perguntar. - Deixe o campo Layout (
CD_LAYOUTAUTORIZACAO) em branco. - Clique em Salvar.
Resultado esperado: O sistema bloqueia o salvamento e exibe mensagem exigindo que o campo Layout seja preenchido.
Excecao / Importante: Se na MOF001 a variavel
imprimeAutorizacaoforTruemasCD_LAYOUTAUTORIZACAOestiver vazio, o relatorio nao e gerado (guarda de seguranca:if (imprimeAutorizacao) and (dmMOF001.iCD_LAYOUTAUTORIZACAO <> '') then). Ou seja, mesmo que o usuario consiga burlar a validacao de OFI001 por outro meio, a rotina de impressao verifica se o layout esta preenchido antes de chamar o relatorio.
Regra Geral
A tabela abaixo resume o comportamento conforme combinacao dos tres parametros:
| ST_IMPAUTORIZACAO | CD_LAYOUTAUTORIZACAO | TP_IMPAUTORIZACAO | Resultado |
|---|---|---|---|
N | (qualquer) | (qualquer) | Nenhuma autorizacao e gerada |
S ou P | vazio | (qualquer) | Erro de validacao ao salvar OFI001 |
S ou P | preenchido | I | Imprime autorizacao no relatorio 'LAO000' |
S ou P | preenchido | V | Exibe preview da autorizacao antes de imprimir |
Referencia rapida de uso no codigo
| Rotina | Arquivo | Uso |
|---|---|---|
Busca_Parametros | source/MOF001/UdmMOF001.pas | Carrega CD_LAYOUTAUTORIZACAO da PARMOFICINA para a variavel iCD_LAYOUTAUTORIZACAO |
Busca_Parametros | source/MOF006/UdmMOF006.pas | Carrega CD_LAYOUTAUTORIZACAO da PARMOFICINA para a variavel iCD_LAYOUTAUTORIZACAO |
imprime | source/MOF001/UMOF001.pas | Passa Parametros[1] := dmMOF001.iCD_LAYOUTAUTORIZACAO ao relatorio 'LAO000' |
ASalvarExecute | source/OFI001/UOFI001.pas | Valida: se ST_IMPAUTORIZACAO <> 'N' e CD_LAYOUTAUTORIZACAO vazio, bloqueia |
Procedures impactadas
Rotinas Delphi com referencia direta ao parametro
| Rotina | Arquivo | Uso |
|---|---|---|
imprime | source/MOF001/UMOF001.pas | if (imprimeAutorizacao) and (dmMOF001.iCD_LAYOUTAUTORIZACAO <> '') then — guarda de seguranca antes de chamar o relatorio |
Busca_Parametros | source/MOF001/UdmMOF001.pas | Select em PARMOFICINA incluindo CD_LAYOUTAUTORIZACAO |
Busca_Parametros | source/MOF006/UdmMOF006.pas | Select em PARMOFICINA incluindo CD_LAYOUTAUTORIZACAO |
TfrmOFI001.ASalvarExecute | source/OFI001/UOFI001.pas | Validacao de preenchimento quando ST_IMPAUTORIZACAO <> 'N' |
Candidatas por uso da tabela PARMOFICINA
As rotinas SQL abaixo referenciam PARMOFICINA mas nao citam CD_LAYOUTAUTORIZACAO literalmente. Podem estar unindo a tabela para outros parametros (frete, bloqueio, preco, etc.), mas nao usam diretamente este campo:
PARCELA_FINANC_MNF017, PARCELA_FINANCIAMENTO, REABRE_OS, RETORNA_MOTIVOBLOQUEIO, RETORNA_PRECOITEM, VERIFICA_BLOQUEIO, VIEW_DOCUMENTOSBLOQUEADOS, VIEW_ROF004, VIEW_ROF004_OFXMM, VIEW_ROF004B, VIEW_ROF004B_V2, VIEW_ROF008.
Nao foi encontrada referencia direta ao campo CD_LAYOUTAUTORIZACAO em Scripts/.