Campos de Imagem
A aba Campos de Imagem permite identificar e parametrizar quais colunas da Fonte de Dados contêm arquivos ou referências visuais, definindo explicitamente o formato de armazenamento utilizado pelo banco de dados (Binary, Base64 ou URL).
Essa configuração explícita funciona como uma diretiva de segurança para o motor de relatórios, garantindo estabilidade e evitando lentidão ao processar dados pesados.
1. Painel de Listagem e Cadastro (Aba Campos de Imagem)
A tela principal exibe a grade com os mapeamentos já realizados e permite novas inclusões:
- Adicionar: Abre o formulário pop-up para mapear uma nova coluna de imagem.
- Campo: Menu de seleção para apontar qual coluna do banco de dados guarda a imagem (ex: MembroImagem).
- Tipo de Armazenamento: Define como o motor deve ler o conteúdo do campo:
- Binary: Para campos binários puros gravados direto no banco (BLOB/ByteA).
- Base64: Para strings de texto longo que representam uma imagem codificada.
- URL: Para caminhos de texto ou links que apontam para onde a imagem está hospedada na rede ou servidor.

Fig. 01

Fig. 02
2. Mecanismo de Prevenção e Validação Durante a Seleção de Campos Para o Relatório
Para blindar o sistema contra travamentos, lentidão ou previews inválidos, a infraestrutura trabalha com uma camada de prevenção ativa. Qualquer coluna cujo tipo de dado ou tamanho excessivo possa comprometer a renderização (se fosse impressa como texto comum) é classificada como um "campo suspeito de imagem".
Esse mecanismo atua em dois momentos distintos:
Na Criação do Datasource
Sempre que uma nova Fonte de Dados é gravada, o sistema realiza uma varredura automática no catálogo e emite um alerta visual caso detecte colunas suspeitas de imagem que ainda não foram configuradas nesta aba.
No Gerenciador de Campos (FieldManager) do Designer
Se uma nova coluna de imagem for adicionada à tabela ou visão do banco de dados após a criação da Fonte de Dados, o sistema interceptará a ação diretamente no designer através das seguintes regras:
- Bloqueio Automático: O sistema bloqueia a inclusão de campos Binary/Object na banda de detalhe do relatório se eles não estiverem explicitamente configurados nesta aba.
- Limite de Texto Longo: Campos de texto puro com tamanho acima do limite máximo de segurança (configurado no parâmetro administrativo ReportDesigner:MaxPrintableTextLength do arquivo appsettings) também são barrados se o usuário tentar imprimi-los como texto comum.
- Ação do Sistema: O campo é impedido de entrar no layout e uma mensagem orienta o projetista a realizar o mapeamento adequado na Fonte de Dados antes de prosseguir.