Fórmulas Utilizadas: mudanças entre as edições
Sem resumo de edição |
|||
| Linha 21: | Linha 21: | ||
== Ordenação de data em relatório == | == Ordenação de data em relatório == | ||
Ao informar uma data no agrupamento do relatório, a ordenação também acontece como string, sendo trazido assim: | Ao informar uma data no agrupamento do relatório, a ordenação também acontece como string, sendo trazido assim:<br> | ||
01/02/2024<br> | 01/02/2024<br> | ||
02/12/2023<br> | 02/12/2023<br> | ||
| Linha 36: | Linha 37: | ||
Caso seja necessário agrupar somente pelo ano manter apenas o ano na fórmula, ficando: | Caso seja necessário agrupar somente pelo ano manter apenas o ano na fórmula, ficando: | ||
ToTex ({Documento.Vencto}, "yyyy") | ToTex ({Documento.Vencto}, "yyyy") | ||
== Aumentar Casas Decimais na Visualização == | == Aumentar Casas Decimais na Visualização == | ||
Edição das 11h56min de 7 de fevereiro de 2024
Ordenação de Relatório
Por padrão a ordem dos números no Gerador de Relatórios ocorre como string, assim quando impresso obedece a sequencia como o exemplo abaixo.
1
10
1
12
21
Dessa forma se faz necessário definir o número de dígitos através de fórmula. Então numa situação onde se quer ordenar, por exemplo, os meses de um relatório por vencimentos para que considere os dois dígitos deve-se seguir a estrutura da fórmula destacada abaixo.
right("00" + totext(month({Documento.Vencto})),2)
- A informação month faz referência ao agrupamento por mês.
- Dentro das chaves deve-se inserir o item que deseja ordenar.
- O número 2 corresponde a quantidade de dígitos que deseja considerar.
Ordenação de data em relatório
Ao informar uma data no agrupamento do relatório, a ordenação também acontece como string, sendo trazido assim:
01/02/2024
02/12/2023
02/11/2024
15/10/2022
21/12/2025
Para definir a ordenação, considerando as datas crescentes no formato DD/MM/AAAA, basta utilizar a formula a seguir: ToTex ({Documento.Vencto}, "yyyy/MM/dd")
Caso seja necessário agrupar por mês, para que o ano também seja considerado, basta remover o dia da fórmula, ficando: ToTex ({Documento.Vencto}, "yyyy/MM")
Caso seja necessário agrupar somente pelo ano manter apenas o ano na fórmula, ficando: ToTex ({Documento.Vencto}, "yyyy")
Aumentar Casas Decimais na Visualização
Para aumentar a quantidade de casas decimais mostradas na visualização deve utilizar a seguinte formula:
totext({RelOrdemProducao.Qtde}, 4)
- Dentro das chaves deve-se inserir o item que deseja ordenar.
- O número 4 corresponde a quantidade de casas decimais que deseja ser mostrado.
Caso seja uma fórmula por grupo deve utilizar a:
totext(Sum ({RelEstoqueAnterior.Saldo}, {@FormulaGrupo01}),4)
Fórmula IsNull
A fórmula IsNull é utilizada em relatórios para substituir um valor "Null" do banco de dados por um valor padrão, afim de permitir sua utilização em relatórios.
A sintaxe padrão é:
IsNull({Campo},valor_padrao) = valor_padrao
Inserir CEP com máscara em Relatório / Formulário
Para utilizar o atributo de CEP no Gerador de Relatórios, basta utilizar a seguinte fórmula:
Left ({Pessoa_Cliente.Cep},5) + "-"+ Right ({Pessoa_Cliente.Cep},3)
Para utilizar no Gerador de Impressões em Formulários basta utilizar a seguinte fórmula:
ConcatenarValores([[ParteTexto({Pessoa_Cliente.Cep},0,5)]],-,[[ParteTexto({Pessoa_Cliente.Cep},5,3)]],,,,)
Fórmula para contar a quantidade de dias em um intervalo de datas
Para realizar a contagem de dias entre um intervalo de datas basta utilizar a seguinte fórmula:
round({Duplicata.Vencto}-{Duplicata.Emissao})
Como parâmetro é possível utilizar qualquer atributo de data dentro do ERP.
Para que o resultado impresso não mostre casas decimais, basta inserir o comando ToText.
Ex: ToText(round({Duplicata.Vencto}-{Duplicata.Emissao}),0)
Também é possível utilizar o comando "CurrentDate" para que o relatório sempre considere a data do dia.
Ex: round({Duplicata.Vencto}-CurrentDate)
Fórmula para coletar somente as Horas em uma coluna que tenha data, hora, minuto e segundo
Para mostrar as Horas em uma coluna que tenha data, basta utilizar a seguinte fórmula:
ToText ({Viagem.HoraInicial}, "HH:mm:ss")
Caso queira saber o intervalo de horas use essa formula: DateDiff("h", {Viagem.HoraInicial}, {Viagem.HoraFinal})
Como parâmetro é possível utilizar qualquer atributo de data que tenha horas dentro do ERP. Caso queira também poderá usar somente as hora, ou somente os minutos: HH = Horas; MM = minutos e ss = Segundos