Pular para o conteúdo principal

CD_LAYOUTORCAMENTO — Layout de Impressão do Orçamento

Tela de configuração: OFI001 — Parâmetros da Oficina
Localização: Aba Layouts → campo Layout Orçamento (Layout [MOF005])
Tabela: PARMOFICINA.CD_LAYOUTORCAMENTO
Tipo: DOM_VARCHAR6 (VARCHAR(6))
Tela de uso: MOF005 (Orçamento), CPD003 (Orçamento de Peças)
Valor padrão: vazio (nenhum layout personalizado)

Telas impactadas​

TelaDescriçãoImpacto
OFI001Parâmetros da OficinaConfiguração do código do layout FastReport
MOF005Orçamento — Ordem de ServiçoImpressão do orçamento (personalizado ou interno)
CPD003Orçamento de PeçasReimpressão de orçamento com layout personalizado ou interno

Campos envolvidos​

CampoTabelaObrigatório?Descrição
CD_LAYOUTORCAMENTOPARMOFICINACondicionalCódigo do layout FastReport do orçamento
ST_IMPRORCAMENTOPARMOFICINA—Situação da impressão do orçamento (N, S, P) — configurado em OFI001, aba Layouts
TP_IMPRORCAMENTOPARMOFICINA—Tipo de impressão: V (Visualiza) ou I (Imprime direto) — configurado em OFI001, aba Layouts

Opções disponíveis​

O que fazDetalhe
VazioUsa rotina interna de geração do relatório (Imprime_ORCAMENTO → GeraRelatorio); layout padrão do sistema
PreenchidoChama CarregaLayout com o nome do arquivo .fr3 (FastReport) personalizado

Vazio — Relatório interno padrão​

O que fazDetalhe
ComportamentoO sistema usa o relatório interno embutido via Imprime_ORCAMENTO → GeraRelatorio
Editável/bloqueadoEditável na aba Layouts de OFI001
ExigeST_IMPRORCAMENTO = N para dispensar preenchimento
RestriçãoSe ST_IMPRORCAMENTO <> N, deixar vazio bloqueia o salvamento (aviso W-1819)

Simulação passo a passo​

  1. Acesse OFI001 — Parâmetros da Oficina.
  2. Abra a aba Layouts.
  3. Deixe o campo Layout Orçamento (Layout [MOF005]) em branco.
  4. Certifique-se de que Tipo Impressão (ST_IMPRORCAMENTO — logo acima) esteja configurado como Não.
  5. Clique em Salvar.

Resultado esperado: Parâmetro gravado com valor vazio. Quando o operador salvar um orçamento em MOF005, nenhum relatório será gerado (se ST_IMPRORCAMENTO = N) ou será gerado o relatório padrão do sistema (se ST_IMPRORCAMENTO = S ou P).

Exceção / Importante: Se ST_IMPRORCAMENTO for alterado para S ou P e CD_LAYOUTORCAMENTO permanecer vazio, o sistema permitirá salvar (nenhá validação exige layout vazio). No momento da impressão em MOF005, o relatório interno padrão será gerado.

Preenchido — Layout personalizado FastReport​

O que fazDetalhe
ComportamentoO sistema chama CarregaLayout passando o código como nome do arquivo FastReport (ex: LAYOUT01)
Editável/bloqueadoEditável na aba Layouts de OFI001; validação de existência no OnValidate
ExigeArquivo .fr3 correspondente disponível no servidor de relatórios
RestriçãoObrigatório quando ST_IMPRORCAMENTO <> N (validação de salvamento em OFI001 — aviso W-1819)

Simulação passo a passo​

  1. Acesse OFI001 — Parâmetros da Oficina.
  2. Abra a aba Layouts.
  3. No campo Layout Orçamento (Layout [MOF005]), digite o código do layout FastReport (ex: LAYOUT01).
  4. Clique em Salvar.
  5. Acesse MOF005, abra ou crie um orçamento (ex: orçamento 5001).
  6. Clique em Salvar — o sistema gera o relatório automaticamente se ST_IMPRORCAMENTO = S, ou pergunta ao operador se ST_IMPRORCAMENTO = P.

Resultado esperado: O relatório de orçamento é impresso/usando o layout FastReport personalizado informado (arquivo .fr3 no caminho de layouts), com os parâmetros passados: código do layout, código da empresa, número do orçamento, caminho do servidor e modo de visualização (V/I).

Exceção / Importante: Quando ST_IMPRORCAMENTO <> N (ou seja, S ou P), o campo CD_LAYOUTORCAMENTO deve estar preenchido. Se estiver vazio, o sistema impede o salvamento em OFI001 com o aviso W-1819 — "Campo não preenchido: Orçamentos".

Relação com TP_IMPRORCAMENTO: O valor de TP_IMPRORCAMENTO (V ou I) é passado no parâmetro [4] para CarregaLayout. V = abre na tela para pré-visualização; I = envia direto à impressora.

Regras de validação​

SituaçãoRegraMensagem / Comportamento
ST_IMPRORCAMENTO <> N e CD_LAYOUTORCAMENTO = vazioBloqueio no salvamento em OFI001W-1819 — "Campo não preenchido: Orçamentos"
CD_LAYOUTORCAMENTO preenchidoValidação de existência no OnValidate de OFI001 — confirma que o layout existe na baseImpede código inexistente
CD_LAYOUTORCAMENTO = vazio e impressão executada em MOF005Usa relatório interno Imprime_ORCAMENTOFuncional, mas sem personalização
CD_LAYOUTORCAMENTO <> vazio e impressão executada em MOF005Usa CarregaLayout com 5 parâmetrosRelatório personalizado

Tabela comparativa resumida​

CD_LAYOUTORCAMENTOST_IMPRORCAMENTOComportamento ao salvar orçamento (MOF005)
VazioNNenhum relatório gerado
VazioSRelatório interno padrão gerado automaticamente
VazioPPergunta ao operador; se Sim, relatório interno
PreenchidoNNenhum relatório gerado
PreenchidoSLayout FastReport personalizado gerado automaticamente
PreenchidoPPergunta ao operador; se Sim, layout personalizado

Fluxo de impressão em MOF005​

  1. Operador salva orçamento em MOF005.
  2. Sistema verifica ST_IMPRORCAMENTO:
    • N → ignora impressão.
    • S → prossegue com impressão.
    • P → pergunta "Deseja imprimir a Ordem de Serviço?"; se Não, cancela.
  3. Se impressão confirmada, verifica CD_LAYOUTORCAMENTO:
    • Preenchido → CarregaLayout(connection, [layout, empresa, nr_orcamento, path, TP_IMPRORCAMENTO]).
    • Vazio → Imprime_ORCAMENTO(nr_orcamento, TP_IMPRORCAMENTO).

Referências de uso fora de MOF005​

  • CPD003 (Orçamento de Peças): O método btnREIMP_ORCAMENTOClick consulta CD_LAYOUTORCAMENTO da PARMOFICINA e aplica a mesma lógica — se preenchido, usa CarregaLayout; se vazio, usa relatório interno.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
TfrmOFI001.ASalvarExecutesource/OFI001/UOFI001.pas389Valida que CD_LAYOUTORCAMENTO está preenchido quando ST_IMPRORCAMENTO <> 'N' (W-1819)
TfrmMOF005.btnImprimirClicksource/MOF005/UMOF005.pas592Decide entre CarregaLayout e Imprime_ORCAMENTO
Busca_Parametrossource/MOF005/UdmMOF005.pas203Carrega CD_LAYOUTORCAMENTO da PARMOFICINA para variável local
TfrmCPD003.btnREIMP_ORCAMENOClicksource/CPD003/UCPD003.pas1993Consulta CD_LAYOUTORCAMENTO para reimpressão de orçamento

Referências SQL diretas ao campo​

Nenhuma referência direta em Scripts/.

Candidatas por uso da tabela PARMOFICINA​

As rotinas abaixo usam a tabela PARMOFICINA mas não citam o campo CD_LAYOUTORCAMENTO literalmente. Não foi encontrada referência direta ao campo em Scripts/.

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