Pular para o conteúdo principal

VL_TOPO - Margem Superior de Impressão

Tela de configuração: ADM010 — Parâmetros do Sistema Localização: Aba Impressão → campo Topo (spnTopo) Tabela: PARMSISTEMA.VL_TOPO Tipo: DOM_INTEGER Valor padrão: nenhum (campo obrigatório — não pode ficar vazio)

Descrição​

Define a margem superior (em milímetros) padrão para a impressão de relatórios no sistema. Esse valor é utilizado como fallback quando o relatório não possui configuração específica de impressão em PARMIMPRESSAO.

Campos envolvidos​

CampoTabelaTipoDescrição
VL_TOPOPARMSISTEMAINTEGERMargem superior padrão do sistema
VL_TOPOPARMIMPRESSAOINTEGERMargem superior por relatório/usuário
VL_BASEPARMSISTEMAINTEGERMargem inferior
VL_ESQUERDAPARMSISTEMAINTEGERMargem esquerda
VL_DIREITAPARMSISTEMAINTEGERMargem direita
DS_PAPELPARMSISTEMAVARCHAR(60)Nome do papel
TP_ORIENTACAOPARMSISTEMACHAR(1)Orientação da página
VL_ALTURAPARMSISTEMAINTEGERAltura do papel
VL_LARGURAPARMSISTEMAINTEGERLargura do papel

Opções disponíveis​

Trata-se de um campo numérico (spin edit). Não possui opções discretas — aceita qualquer valor inteiro de 0 a 1000.

O que fazDetalhe
Define a margem superiorValor em milímetros; campo editável, obrigatório, máximo 1000
Valor vazio é bloqueadoO sistema impede o salvamento se o campo estiver em branco
Usado como fallbackAplicado quando o relatório não tem configuração própria em PARMIMPRESSAO

Preenchimento do campo​

Simulação passo a passo​

  1. Acesse ADM010 — Parâmetros do Sistema.
  2. Abra a aba Impressão.
  3. No campo Topo, digite o valor desejado para a margem superior (ex.: 10).
  4. Preencha também os campos Base, Esquerda e Direita (todos obrigatórios).
  5. Salve o registro.

Resultado esperado: A margem superior padrão de todos os relatórios do sistema passa a ser o valor informado (em milímetros), respeitando a cascata de configuração de impressão.

Exceção / Importante: Se o campo Topo estiver vazio ao salvar, o sistema exibe a mensagem "É Obrigatorio informar um valor para margem Topo. Verifique!" e não permite a gravação. Além disso, se existir configuração específica em PARMIMPRESSAO (por relatório/usuário), ela tem prioridade sobre este valor global.

Regra de fallback (cascata de configuração)​

A função ParametrosRelatorio (em jReport.pas) busca as margens na seguinte ordem:

  1. PARMIMPRESSAO — Empresa + Usuário + Relatório
  2. PARMIMPRESSAO — Usuário + Relatório (sem empresa)
  3. PARMIMPRESSAO — Empresa + Relatório (sem usuário)
  4. PARMIMPRESSAO — Apenas Relatório
  5. PARMSISTEMA — Parâmetros globais (onde VL_TOPO se encontra)

Se nenhuma configuração de PARMIMPRESSAO for encontrada e stParmSistema = True, o valor de VL_TOPO de PARMSISTEMA é utilizado. O COALESCE(VL_TOPO,0) garante que, se o campo estiver nulo no banco, o valor 0 é assumido.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmADM010.tabPARMSISTEMABeforePostsource/ADM010/UdmADM010.pasValida preenchimento obrigatório antes de salvar
ParametrosRelatoriosource/jCommon/jReport.pasLê VL_TOPO como fallback para margem superior de relatórios
TfrmConfiguracoes.btnOKClicksource/Visualizador/UConfigurar.pasValida preenchimento em PARMIMPRESSAO (visualizador FastReport)
TfrmConfiguracoes.btnOKClicksource/Visualizador_ReportBuilder/UConfigurar.pasValida preenchimento em PARMIMPRESSAO (visualizador ReportBuilder)

Referências SQL diretas ao campo​

Nenhuma procedure/script SQL em Scripts/ referencia VL_TOPO diretamente. As procedures listadas como candidatas acessam a tabela PARMSISTEMA para outros campos (ex.: TP_PLANOCONTABIL).

Candidatas por uso da tabela (sem referência direta ao campo)​

ProcedureArquivoCampo utilizado
ARRUMA_MASCARACONTAScripts/ARRUMA_MASCARACONTA.sqlOutros campos de PARMSISTEMA
ATUALIZA_CONTACONTABILScripts/ATUALIZA_CONTACONTABIL.sqlOutros campos de PARMSISTEMA
GERA_SPEDCONTABILScripts/GERA_SPEDCONTABIL.sqlOutros campos de PARMSISTEMA
GERA_SPEDECFBLOCOJScripts/GERA_SPEDECFBLOCOJ.sqlOutros campos de PARMSISTEMA
GERA_PLANOFILIALScripts/GERA_PLANOFILIAL.sqlOutros campos de PARMSISTEMA

Nota: As procedures acima leem PARMSISTEMA mas não utilizam VL_TOPO. Sem impacto direto identificado no código.

Relação com outros parâmetros​

ParâmetroDescriçãoConfigurado em
VL_BASEMargem inferiorADM010 — aba Impressão
VL_ESQUERDAMargem esquerdaADM010 — aba Impressão
VL_DIREITAMargem direitaADM010 — aba Impressão
VL_LARGURALargura do papelADM010 — aba Impressão
VL_ALTURAAltura do papelADM010 — aba Impressão
DS_PAPELNome do papelADM010 — aba Impressão
TP_ORIENTACAOOrientação (retrato/paisagem)ADM010 — aba Impressão