Форматы значений

Вы можете указать форматирование для любого поля, выводимого отчетом, на вкладке Value formats экрана деталей отчета. Ниже приведена форма для добавления формата:

value format
  • Name - имя поля отчета с префиксом бэнда, например, Book.year.

  • Format string - формат поля. Для числовых значений укажите формат согласно правилам java.text.DecimalFormat, для дат - java.text.SimpleDateFormat.

  • Флажок Groovy script - позволяет указать Groovy-скрипт для форматирования параметра. Используя псевдоним value, текущее значение параметра передается в скрипт, который может быть отформатирован или преобразован в нужный формат. Groovy-скрипт должен возвращать новое значение в виде строки.

    С помощью Groovy-скриптов можно создать форматер, который обрабатывает атрибуты типа перечисления в отчетах Jmix. Этот форматер будет преобразовывать ID перечисления в локализованный текст с использованием бина Messages.

    value format groovy

    Для доступа к бинам, управляемым Spring, используйте объект ApplicationContext (org.springframework.context.ApplicationContext).

С помощью форматов можно вставлять в документ изображения и HTML-блоки.

  • Чтобы вставить изображение, укажите URL изображения в качестве значения поля, а строка формата должна быть следующей: ${image:<Ширина>x<Высота>}, например, ${image:200x300}.

    Для работы с FileRef используйте форматер значений ${imageFileId:WxH}, который принимает экземпляр FileRef или URI файла в виде строки.

  • Чтобы вставить HTML-блок, следует вернуть HTML-разметку в поле и выбрать ${html} в качестве строки формата. В выходном значении можно опустить теги верхнего уровня вплоть до <body> включительно. При необходимости все отсутствующие теги верхнего уровня будут добавлены автоматически. Все блоки должны быть закодированы в UTF-8. CSS и атрибут style не поддерживаются.

Вы также можете указать собственные пользовательские форматы. Для этого введите новое значение в поле, не открывая выпадающий список, и нажмите Enter. Также можно выбрать любой формат из выпадающего списка, отредактировать его имя в поле и нажать Enter. В обоих случаях пользовательский формат будет сохранен.