Formatação e Indicadores nos Avisos por E-mail

Novidades nos Avisos por E-mail

Agora os avisos por e-mail suportam indicadores, formatação individual dos valores e colunas, assim como vários retornos de dados dentro de um único aviso. É possível então retornar vários SELECTs dentro de uma mesma procedure, e o sistema irá montar dentro do mesmo e-mail, conforme abaixo:  

 

E devido a isso é possível retornar campos "especiais" que indicarão para o sistema incluir um texto antes dos dados, ou após os dados, ou até mesmo formatar o valor de uma coluna com um CSS específico (cor azul ou vermelho, aumentar ou diminuir o tamanho, cor de fundo, etc).   Abaixo um exemplo de retorno de uma stored procedure que monta o aviso de e-mail acima:

 

Indicadores

Para montar indicadores basta retornar no formato indicado acima, com os campos NOME (VARCHAR), VALOR (MONEY / VARCHAR) e o campo @indicador (BIT), com o valor 1. É possível adicionar o campo @sinal (BIT), com o valor 1, quando se quer que o valor positivo tenha o + na frente. Caso contrário apenas o valor negativo terá o sinal. Também podemos usar o campo @decimal (BIT) com o valor 1, para indicar que deverá formatar o VALOR com separador de milhar e decimal. Caso @decimal seja igual a 0 o VALOR será formatado como um número inteiro, apenas com separadores de milhar. E o campo @css-[nome do campo] (VARCHAR) serve para formatar o campo com CSS (formatação padrão de HTML). Então o campo @css-valor contém o formato daquele indicador.

 

Formatação

O quarto retorno contém uma espécie de extrato. Percebe-se no campo Histórico que o próprio conteúdo do campo já é um HTML. Isso não é novidade, já era possível fazer isso antes. Mas para simplificar criamos o campo @css-[nome do campo]. Percebe-se então que há os campos @css-Valor para formatar o campo Valor desse retorno, e @css-Evolução, para formatar o campo Evolução. Para formatar a cor de um campo basta retornar color:#aabbcc, onde #aabbcc deve ser substituído pela cor HTML desejada. Também é possível retornar o campo @total (BIT) com o valor 1. Ao fazer isto todos os valores daquela linha serão formatados em negrito. E caso queira formatar em negrito através do campo @css-[nome do campo] basta incluir font-weight: 600 no valor do campo. E para itálico basta incluir font-style: italic. É possível retornar vários parâmetros de formatação CSS, bastando separá-los com ponto-e-vírgula (font-weight: 600; font-style: italic; color: red). Uma referência ao CSS pode ser encontrada neste link (já direto na página da cores): https://www.w3schools.com/cssref/css_colors.asp

Além disso campos do tipo lógico/boolean serão renderizados por padrão com caracteres Unicode que representam 1/TRUE com uma caixa marcada ☑, e 0/FALSE com uma caixa desmarcada ☐. Por padrão, o tamanho da fonte é aumentado para que as caixas fiquem mais visíveis. No entanto é possível alterar como 1/TRUE e 0/FALSE são renderizados através dos campos de controle @true (VARCHAR) e @false (VARCHAR). O conteúdo informado nestes campos será usado nos campos lógicos/boolean do registro sendo renderizado, e neste caso, nenhuma formatação diferenciada de fonte será aplicada. Caso queira basta usar o campo de controle @css-[nome do campo] para aplicar uma formatação diferenciada.

 

Textos adicionais

É possível retornar um texto adicional, explicativo antes dos dados, bastando para isso retornar um campo @antes (VARCHAR) com o texto desejado. Não se preocupe se retornar várias linhas de valores e o campo @antes repetir várias vezes. Ele será incluído no e-mail apenas uma vez, logo antes daquele retorno. O mesmo vale para o campo @apos (VARCHAR), que é um campo com texto explicativo para ser inserido após os dados retornados. Além disso, é possível retornar parâmetros na procedure (@antes varchar(8000) output,  e/ou  @apos varchar(8000) output) que vão incluir um texto no início do e-mail e no final do e-mail.

 

Sem rodapé

É possível desativar o rodapé que contém a contagem de registros de dados através do campo @rodape (VARCHAR), e retornando o valor ~~ (til til). Através deste mesmo campo é possível incluir uma mensagem no rodapé dos dados. O sistema irá manter a contagem de dados, a menos que o texto inicie com ~~ (til til). Neste caso esses dois caracteres serão removidos do texto, e apresentado apenas o texto, sem a contagem de dados.

Exemplo: ~~Exemplo de rodapé sem contagem de dados.

Também é possível desativar a contagem de dados através de uma configuração no arquivo .INI. Basta incluir uma seção [rodape] com a chave-valor contar=0. Ao fazer isso todas as tabelas não terão mais contadores de dados por padrão. Aí neste caso, para ter um contador em uma tabela específica, pasta retornar o campo @rodape com o valor # (cerquilha/hashtag/jogo da velha) (isso a partir da versão 2020.01.31.16).

Alguma dúvida?
Abrir chamado