Pular para o conteúdo principal

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:

ParametroPapel
ST_IMPAUTORIZACAOLiga/desliga a funcionalidade. Se N, ignora CD_LAYOUTAUTORIZACAO
CD_LAYOUTAUTORIZACAOCodigo do layout (ex: LAO000)
TP_IMPAUTORIZACAOTipo 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​

TelaImpacto
MOF001Usa o layout ao gerar a autorizacao de servico
MOF006Usa o layout ao gerar a autorizacao de servico
OFI001Cadastro do parametro (aba Layouts)

Campos envolvidos​

CampoTabelaCondição
CD_LAYOUTAUTORIZACAOPARMOFICINAObrigatorio quando ST_IMPAUTORIZACAO <> 'N'
ST_IMPAUTORIZACAOPARMOFICINAParametro controlador
TP_IMPAUTORIZACAOPARMOFICINATipo 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 fazDetalhe
Ativa o relatorio de autorizacaoO codigo informado e enviado ao gerador de relatorios como parametro
Exige codigo validoO layout deve existir no cadastro de layouts do sistema
EditavelSim, campo livre editavel em qualquer momento

Simulacao passo a passo​

  1. Acesse OFI001 (Parametros da Oficina).
  2. Vá ate a aba Layouts, grupo Autorizacao.
  3. No campo Imprime (ST_IMPAUTORIZACAO), selecione Sim ou Perguntar.
  4. No campo Layout (CD_LAYOUTAUTORIZACAO), digite o codigo do layout (ex: LAO000).
  5. No campo Tipo Impressao (TP_IMPAUTORIZACAO), escolha Imprime ou Visualiza.
  6. Salve os parametros.
  7. Acesse MOF001 (Ordem de Servico) e salve/processe uma OS.
  8. 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 &lt;&gt; 'N' e CD_LAYOUTAUTORIZACAO estiver 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 em TfrmOFI001.ASalvarExecute.


Layout vazio + ST_IMPAUTORIZACAO = N​

O que fazDetalhe
Desativa a impressao de autorizacaoNenhum relatorio e gerado
Isenta preenchimentoCD_LAYOUTAUTORIZACAO pode permanecer em branco
EconomicoNenhuma chamada ao gerador de relatorios

Simulacao passo a passo​

  1. Acesse OFI001 (Parametros da Oficina).
  2. Vá ate a aba Layouts, grupo Autorizacao.
  3. No campo Imprime (ST_IMPAUTORIZACAO), selecione Nao.
  4. Deixe o campo Layout (CD_LAYOUTAUTORIZACAO) em branco.
  5. Salve os parametros.
  6. 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 fazDetalhe
Bloqueia o salvamentoOFI001 nao aceita salvar com ST_IMPAUTORIZACAO &lt;&gt; 'N' e layout vazio
Exibe mensagem de erroA validacao em ASalvarExecute impede a gravacao

Simulacao passo a passo​

  1. Acesse OFI001 (Parametros da Oficina).
  2. Vá ate a aba Layouts, grupo Autorizacao.
  3. No campo Imprime (ST_IMPAUTORIZACAO), selecione Sim ou Perguntar.
  4. Deixe o campo Layout (CD_LAYOUTAUTORIZACAO) em branco.
  5. 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 imprimeAutorizacao for True mas CD_LAYOUTAUTORIZACAO estiver vazio, o relatorio nao e gerado (guarda de seguranca: if (imprimeAutorizacao) and (dmMOF001.iCD_LAYOUTAUTORIZACAO &lt;&gt; '') 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_IMPAUTORIZACAOCD_LAYOUTAUTORIZACAOTP_IMPAUTORIZACAOResultado
N(qualquer)(qualquer)Nenhuma autorizacao e gerada
S ou Pvazio(qualquer)Erro de validacao ao salvar OFI001
S ou PpreenchidoIImprime autorizacao no relatorio 'LAO000'
S ou PpreenchidoVExibe preview da autorizacao antes de imprimir

Referencia rapida de uso no codigo​

RotinaArquivoUso
Busca_Parametrossource/MOF001/UdmMOF001.pasCarrega CD_LAYOUTAUTORIZACAO da PARMOFICINA para a variavel iCD_LAYOUTAUTORIZACAO
Busca_Parametrossource/MOF006/UdmMOF006.pasCarrega CD_LAYOUTAUTORIZACAO da PARMOFICINA para a variavel iCD_LAYOUTAUTORIZACAO
imprimesource/MOF001/UMOF001.pasPassa Parametros[1] := dmMOF001.iCD_LAYOUTAUTORIZACAO ao relatorio 'LAO000'
ASalvarExecutesource/OFI001/UOFI001.pasValida: se ST_IMPAUTORIZACAO &lt;&gt; 'N' e CD_LAYOUTAUTORIZACAO vazio, bloqueia

Procedures impactadas​

Rotinas Delphi com referencia direta ao parametro​

RotinaArquivoUso
imprimesource/MOF001/UMOF001.pasif (imprimeAutorizacao) and (dmMOF001.iCD_LAYOUTAUTORIZACAO &lt;&gt; '') then — guarda de seguranca antes de chamar o relatorio
Busca_Parametrossource/MOF001/UdmMOF001.pasSelect em PARMOFICINA incluindo CD_LAYOUTAUTORIZACAO
Busca_Parametrossource/MOF006/UdmMOF006.pasSelect em PARMOFICINA incluindo CD_LAYOUTAUTORIZACAO
TfrmOFI001.ASalvarExecutesource/OFI001/UOFI001.pasValidacao de preenchimento quando ST_IMPAUTORIZACAO &lt;&gt; '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/.