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
| Tela | Descrição | Impacto |
|---|---|---|
| OFI001 | Parâmetros da Oficina | Configuração do código do layout FastReport |
| MOF005 | Orçamento — Ordem de Serviço | Impressão do orçamento (personalizado ou interno) |
| CPD003 | Orçamento de Peças | Reimpressão de orçamento com layout personalizado ou interno |
Campos envolvidos
| Campo | Tabela | Obrigatório? | Descrição |
|---|---|---|---|
CD_LAYOUTORCAMENTO | PARMOFICINA | Condicional | Código do layout FastReport do orçamento |
ST_IMPRORCAMENTO | PARMOFICINA | — | Situação da impressão do orçamento (N, S, P) — configurado em OFI001, aba Layouts |
TP_IMPRORCAMENTO | PARMOFICINA | — | Tipo de impressão: V (Visualiza) ou I (Imprime direto) — configurado em OFI001, aba Layouts |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| Vazio | Usa rotina interna de geração do relatório (Imprime_ORCAMENTO → GeraRelatorio); layout padrão do sistema |
| Preenchido | Chama CarregaLayout com o nome do arquivo .fr3 (FastReport) personalizado |
Vazio — Relatório interno padrão
| O que faz | Detalhe |
|---|---|
| Comportamento | O sistema usa o relatório interno embutido via Imprime_ORCAMENTO → GeraRelatorio |
| Editável/bloqueado | Editável na aba Layouts de OFI001 |
| Exige | ST_IMPRORCAMENTO = N para dispensar preenchimento |
| Restrição | Se ST_IMPRORCAMENTO <> N, deixar vazio bloqueia o salvamento (aviso W-1819) |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Abra a aba Layouts.
- Deixe o campo Layout Orçamento (
Layout [MOF005]) em branco. - Certifique-se de que Tipo Impressão (
ST_IMPRORCAMENTO— logo acima) esteja configurado como Não. - 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_IMPRORCAMENTOfor alterado paraSouPeCD_LAYOUTORCAMENTOpermanecer 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 faz | Detalhe |
|---|---|
| Comportamento | O sistema chama CarregaLayout passando o código como nome do arquivo FastReport (ex: LAYOUT01) |
| Editável/bloqueado | Editável na aba Layouts de OFI001; validação de existência no OnValidate |
| Exige | Arquivo .fr3 correspondente disponível no servidor de relatórios |
| Restrição | Obrigatório quando ST_IMPRORCAMENTO <> N (validação de salvamento em OFI001 — aviso W-1819) |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Abra a aba Layouts.
- No campo Layout Orçamento (
Layout [MOF005]), digite o código do layout FastReport (ex:LAYOUT01). - Clique em Salvar.
- Acesse MOF005, abra ou crie um orçamento (ex: orçamento
5001). - Clique em Salvar — o sistema gera o relatório automaticamente se
ST_IMPRORCAMENTO = S, ou pergunta ao operador seST_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,SouP), o campoCD_LAYOUTORCAMENTOdeve 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 deTP_IMPRORCAMENTO(VouI) é passado no parâmetro[4]paraCarregaLayout.V= abre na tela para pré-visualização;I= envia direto à impressora.
Regras de validação
| Situação | Regra | Mensagem / Comportamento |
|---|---|---|
ST_IMPRORCAMENTO <> N e CD_LAYOUTORCAMENTO = vazio | Bloqueio no salvamento em OFI001 | W-1819 — "Campo não preenchido: Orçamentos" |
CD_LAYOUTORCAMENTO preenchido | Validação de existência no OnValidate de OFI001 — confirma que o layout existe na base | Impede código inexistente |
CD_LAYOUTORCAMENTO = vazio e impressão executada em MOF005 | Usa relatório interno Imprime_ORCAMENTO | Funcional, mas sem personalização |
CD_LAYOUTORCAMENTO <> vazio e impressão executada em MOF005 | Usa CarregaLayout com 5 parâmetros | Relatório personalizado |
Tabela comparativa resumida
| CD_LAYOUTORCAMENTO | ST_IMPRORCAMENTO | Comportamento ao salvar orçamento (MOF005) |
|---|---|---|
| Vazio | N | Nenhum relatório gerado |
| Vazio | S | Relatório interno padrão gerado automaticamente |
| Vazio | P | Pergunta ao operador; se Sim, relatório interno |
| Preenchido | N | Nenhum relatório gerado |
| Preenchido | S | Layout FastReport personalizado gerado automaticamente |
| Preenchido | P | Pergunta ao operador; se Sim, layout personalizado |
Fluxo de impressão em MOF005
- Operador salva orçamento em MOF005.
- 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.
- Se impressão confirmada, verifica
CD_LAYOUTORCAMENTO:- Preenchido →
CarregaLayout(connection, [layout, empresa, nr_orcamento, path, TP_IMPRORCAMENTO]). - Vazio →
Imprime_ORCAMENTO(nr_orcamento, TP_IMPRORCAMENTO).
- Preenchido →
Referências de uso fora de MOF005
- CPD003 (Orçamento de Peças): O método
btnREIMP_ORCAMENTOClickconsultaCD_LAYOUTORCAMENTOdaPARMOFICINAe aplica a mesma lógica — se preenchido, usaCarregaLayout; se vazio, usa relatório interno.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TfrmOFI001.ASalvarExecute | source/OFI001/UOFI001.pas | 389 | Valida que CD_LAYOUTORCAMENTO está preenchido quando ST_IMPRORCAMENTO <> 'N' (W-1819) |
TfrmMOF005.btnImprimirClick | source/MOF005/UMOF005.pas | 592 | Decide entre CarregaLayout e Imprime_ORCAMENTO |
Busca_Parametros | source/MOF005/UdmMOF005.pas | 203 | Carrega CD_LAYOUTORCAMENTO da PARMOFICINA para variável local |
TfrmCPD003.btnREIMP_ORCAMENOClick | source/CPD003/UCPD003.pas | 1993 | Consulta 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