VL_DIREITA - Margem Direita de Impressão
Tela de configuração: ADM010 - Parâmetros do Sistema Localização: Aba Impressão → campo Orientação (spnDireita) Tabela:
PARMSISTEMA.VL_DIREITA— tipoDOM_INTEGERValor padrão: sem default (campo obrigatório) Controle: SpinEdit — incremento 1, valor máximo 1000
Resumo
Define a margem direita padrão (em décimos de milímetro) utilizada na impressão de relatórios do sistema. Funciona como valor de fallback quando não há configuração específica de margem para o par relatório × usuário × empresa na tabela PARMIMPRESSAO.
Telas impactadas
| Tela | Arquivo | Uso |
|---|---|---|
| ADM010 - Parâmetros do Sistema | source/ADM010/UADM010.dfm | Configuração do valor |
| Visualizador de Relatórios (FastReport) | source/Visualizador/UConfigurar.pas | Leitura/gravação em PARMIMPRESSAO |
| Visualizador de Relatórios (ReportBuilder) | source/Visualizador_ReportBuilder/UConfigurar.pas | Leitura/gravação em PARMIMPRESSAO |
| Motor de relatórios (jReport) | source/jCommon/jReport.pas | Fallback para PARMSISTEMA |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
VL_DIREITA | PARMSISTEMA | Margem direita padrão do sistema |
VL_DIREITA | PARMIMPRESSAO | Margem direita por relatório/usuário/empresa |
VL_ESQUERDA | PARMSISTEMA | Margem esquerda (mesmo grupo) |
VL_TOPO | PARMSISTEMA | Margem superior (mesmo grupo) |
VL_BASE | PARMSISTEMA | Margem inferior (mesmo grupo) |
VL_LARGURA | PARMSISTEMA | Largura do papel (mesmo grupo) |
VL_ALTURA | PARMSISTEMA | Altura do papel (mesmo grupo) |
TP_ORIENTACAO | PARMSISTEMA | Orientação da página (mesmo grupo) |
DS_PAPEL | PARMSISTEMA | Nome do papel (mesmo grupo) |
Comportamento
| O que faz | Detalhe |
|---|---|
| Obrigatório | Sim — ao salvar, o sistema valida e impede valor vazio |
| Faixa de valores | 0 a 1000 ( décimos de mm ) |
| Unidade | Décimos de milímetro (valor 100 = 10 mm) |
| Editável | Sim, campo livre dentro da faixa |
Validação ao salvar
O evento BeforePost do dataset verifica se VL_DIREITA está vazio. Se estiver, exibe a mensagem "É Obrigatorio informar um valor para margem Direita. Verifique!", posiciona o foco no campo e impede a gravação.
Fallback de margens na impressão
O motor de relatórios (jReport.ParametrosRelatorio) busca margens na seguinte ordem de prioridade em PARMIMPRESSAO:
- Empresa + Usuário + Relatório
- Usuário + Relatório (sem empresa)
- Empresa + Relatório (sem usuário)
- Relatório apenas (sem empresa nem usuário)
PARMSISTEMA(fallback padrão do sistema)
Se nenhuma configuração específica existir em PARMIMPRESSAO, o valor de VL_DIREITA de PARMSISTEMA é utilizado. Em todos os casos, o campo é lido com COALESCE(VL_DIREITA, 0), garantindo que margem zero seja o mínimo.
Simulação passo a passo
Definindo a margem direita padrão do sistema
- Acesse ADM010 - Parâmetros do Sistema.
- Clique na aba Impressão.
- No campo correspondente à margem direita (
spnDireita), digite o valor desejado, por exemplo 100 (equivalente a 10 mm). - Salve o registro.
Resultado esperado: Todos os relatórios impressos que não possuírem configuração específica em PARMIMPRESSAO utilizarão 10 mm como margem direita.
Exceção / Importante: Se um relatório tiver configuração própria salva pelo Visualizador (tabela
PARMIMPRESSAO), ela terá prioridade sobre o valor dePARMSISTEMA.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TdmADM010.tabPARMSISTEMABeforePost | source/ADM010/UdmADM010.pas | 294 | Validação de preenchimento obrigatório |
ParametrosRelatorio | source/jCommon/jReport.pas | 755+ | Leitura com COALESCE como fallback |
TfrmConfiguracoes.btnOKClick | source/Visualizador/UConfigurar.pas | 121 | Validação de preenchimento em PARMIMPRESSAO |
TfrmConfiguracoes.FormShow | source/Visualizador_ReportBuilder/UConfigurar.pas | 182 | Atribui MarginRight * 25 ao campo |
Referências SQL diretas ao campo
| Contexto | Arquivo | Linha |
|---|---|---|
SELECT de PARMSISTEMA | source/ADM010/UdmADM010.dfm | 59 |
INSERT em PARMSISTEMA | source/ADM010/UdmADM010.dfm | 631 |
UPDATE de PARMSISTEMA | source/ADM010/UdmADM010.dfm | 691 |
Candidatas por uso da tabela
As procedures abaixo utilizam PARMSISTEMA mas não referenciam VL_DIREITA diretamente. Sem impacto funcional confirmado:
ARRUMA_MASCARACONTA, ATUALIZA_CONTACONTABIL, CALCULA_TEMPOPERMANENCIA, CONTABILIZA_CUPOMFISCAL, GERA_CONTACLIFOR, GERA_DARF, GERA_PLANOFILIAL, GERA_SPEDBLOCOL, GERA_SPEDCONTABIL, GERA_SPEDCONTABIL_0000, GERA_SPEDECF, GERA_SPEDECFBLOCOJ, GERA_SPEDECFBLOCOK155, GERA_SPEDECFBLOCOK355, GERA_SPEDECFBLOCOL210, GERA_SPEDECFBLOCOY, GRAVA_REGISTROSPED0500, IMPORTA_ARQUIVOMAGNETICO, INCLUI_IMPOSTONOTACTB.