Перейти к содержанию

Блок "Форматирование по условию"

Блок доступен начиная с версии 0.10

Назначение блока

Блок позволяет по значениям данных или атрибутов рядов осуществлять условное форматирование.

Настройки блока

Общие настройки блоков описаны в отдельном разделе.

Раздел "Диапазоны"

Наименование Тип Обязательное Описание Пример
Название диапазона Строка Нет Название диапазона По умолчанию: Диапазон 1
Область применения Выпадающий список Да К чему будет применяться фильтр:
- По значениям
- По атрибутам
- По ключам (датам)
- Смешанная
Идентификатор Строка Нет Заполняется при выборе области применения по атрибутам. Задается id атрибута ts_name
Значение (строка) Строка Нет Заполняется при выборе области применения по атрибутам
Значение (дата) Дата и время Нет Заполняется при выборе области применения по ключам(датам). Для всех типов диапазона, кроме между и не между
Значение 1 (Дата) Дата и время Нет Заполняется при выборе области применения по ключам(датам). Для типа диапазона между и не между
Значение 2 (дата) Дата и время Нет Заполняется при выборе области применения по ключам(датам). Для типа диапазона между и не между
Значение (число) Вещественное число Нет Заполняется при выборе области применения по значениям. Для всех типов диапазона, кроме между и не между
Значение 1 Вещественное число Нет Заполняется при выборе области применения по значениям. Для типа диапазона между и не между
Значение 1 Вещественное число Нет Заполняется при выборе области применения по значениям. Для типа диапазона между и не между
Значение JSON Нет Заполняется при выборе области применения смешанного варианта. Описание формирование json. см ниже
Тип диапазона Выпадающий список Да Какой диапазон будет применятся в условном форматировании:
- всегда,
- между,
- не между,
- равно,
- не равно,
- больше,
- больше или равно,
- меньше,
- меньше или равно
Цвет заливки Цвет Нет Цвет заливки фона
Цвет границы Цвет Нет Цвет границ
Толщина границы Целое число Нет Толщина границ
Стиль границы Выпадающий список Нет Стиль границ:
- Сплошная линия
- Пунктир
По умолчанию: Сплошная линия
Текст (подписи) - размер шрифта Целое число Нет Размер шрифта текста подписи
Текст (подписи) - цвет текста Цвет Нет Цвет текста подписи

Входы блока

Общие настройки входов блока описаны в отдельном разделе.

Наименование входа Тип Обязательный Описание
Ряды данных Ряд данных Да Данные, по которым будет осуществляется условное форматирование
Фильтр данных Ряд данных Нет Фильтр для входных данных перед применением правил форматирования
Список условий Ряд данных Нет Список описаний правил применения условного форматирования. Если в этот вход пришли описания правил, то правила описанные с блоке игнорируются. Структура описаний правил описана ниже в разделе "Список условий со входа блока"

Выходы блока

Общие настройки выходов блока описаны в отдельном разделе.

Наименование выхода Тип Описание
Ряды с форматированием Ряд данных Данные с форматированием

События блока

Блок не имеет конкретных событий.

Описание работы блока

В блок приходят данные. Собираются правила для условного форматирования из настроек блока (или из входа "Список условий"). И в те данные, которые удовлетворяют правилам, добавляется атрибут "format_conditions" в котором будет содержаться условное форматирование.

Данные (10 рядов) на которых ниже будут строится примеры:

Описание работы областей применения ("Область применения" в настройках блока)

По значениям

При данном варианте будут сравниваться каждые значения в каждом ряду с заданным условием. И если условие совпадает, раскрашивается конкретное значение.

Например

Условие Настройки блока Результат
Покрасить данные которые больше 100. Выбирается "Область применения" - "Значения"Выбирается "Тип диапазона" - "Больше"Задается значение 100 в поле "Значение (число)"
Покрасить данные которые между 50 и 70. Выбирается "Область применения" - "Значения"Выбирается "Тип диапазона" - "Между"Задается значение 50 в поле "Значение 1"Задается значение 70 в поле "Значение 2"

По атрибутам

При данном варианте будут сравниваться атрибут в каждом ряду с заданным условием. И если атрибут совпадает, раскрашивается весь ряд.

При выборе атрибута, надо задать его идентификатор.

К строковым атрибутам может применяться только "Тип диапазона": всегда, равно или не равно.

Например

Условие Настройки блока Результат
Покрасить ряд у которого атрибут "ts_name"равен "x5"Пример описания ряда: Выбирается "Область применения" - "Атрибут"Задается "Идентификатор" равный "ts_name". Выбирается "Тип диапазона" - "Равно"Задается значение x5 в поле "Значение (строка)"

По ключам (датам)

При данном варианте будут сравниваться ключи (только ключи состоящие из дат) в каждом ряду с заданным условием. И если ключ совпадает, раскрашивается значение на данную дату.

Дата в полях "Значение (дата)", "Значение 1 (дата)", "Значение 2 (дата)" задается в формате День.Месяц.Год Час:Минута:Секунда.

Например

Условие Настройки блока Результат
Покрасить данные за февраль 2020 года Выбирается "Область применения" - "Ключ (дата)"Выбирается "Тип диапазона" - "Равно"Задается значение 01.02.2020 в поле "Значение (дата)"
Покрасить данные в промежуток между июнем и августом 2020 года Выбирается "Область применения" - "Ключ (дата)"Выбирается "Тип диапазона" - "Между"Задается значение 01.06.2020 в поле "Значение 1 (дата)"Задается значение 01.08.2020 в поле "Значение 1 (дата)"

Смешанный вариант

При данном варианте будут сравниваться все ранее описанные способы задания условия одновременно. И если условие совпадет, раскрашивается значение.

При смешанном диапазоне задается json. Json это массив справочников.

Пример JSON
[
    {
        "area": "Value",
        "type": "Less",
        "value": 0
    },
    {
        "area": "Attribute",
        "id": "ts_name",
        "type": "Equal",
        "value": "x8"
    },
    {
        "area": "KeysData",
        "type": "Between",
        "value": "01.11.2020",
        "value2": "01.11.2021"
    }
]

Атрибуты справочника

  • area - Область применения
  • Value - по значениям
  • Attribute - по атрибуту
  • KeysData - по ключу (дате)
  • id - Идентификатор атрибута. Заполняется если выбрана область применения по атрибутам
  • type - Тип диапазона
  • Always - всегда
  • Between - между
  • NotBetween - не между
  • Equal - равен
  • NotEqual - не равен
  • Greater - больше
  • Less - меньше
  • GreaterOrEqual - больше или равно
  • LessOrEqual - меньше или равно
  • value - Сравниваемое значение
  • value2 - Второе значение для промежутков

По области применения может быть только одно условие. Для области по атрибутам одно условие на идентификатор.

Например

Условие Настройки блока Результат
Покрасить данные за февраль 2020 года, где значения в промежутку между 10 и 100 Выбирается "Область применения" - "Смешанная"В поле "Значение" задается !!! code "" [ { "area": "Value", "type": "Between", "value": 10, "value2": 100 }, { "area": "KeysData", "type": "Equal", "value": "01.02.2020" } ]
Покрасить данные с ноября 2020 года по ноябрь 2021, где значения меньше 0 и атрибут ts_name = x8 Выбирается "Область применения" - "Смешанная"В поле "Значение" задается !!! code "" [ { "area": "Value", "type": "Less", "value": 0 }, { "area": "Attribute", "id": "ts_name", "type": "Equal", "value": "x8" }, { "area": "KeysData", "type": "Between", "value": "01.11.2020", "value2": "01.11.2021" } ]

Список условий со входа блока

Описание формата входа "Список условий".

На вход передается список объектов.

Описание объекта (все ключи соответствуют полям из настройки блока):

  • name - Название диапазона
  • app_area - Область применения
  • 0 - Значения
  • 1 - Атрибут
  • 2 - Ключ (дата)
  • 3 - Смешанная
  • id_attribute - Идентификатор
  • type - Тип диапазона
  • 0 - Всегда
  • 1 - Между
  • 2 - Не между
  • 3 - Равно
  • 4 - Не равно
  • 5 - Больше
  • 6 - Меньше
  • 7 - Больше или равно
  • 8 - Меньше или равно
  • val_str - Значение (строка). Заполняется при выборе области применения по атрибутам.
  • val0 - Значение (число). Заполняется при выборе области применения по значениям. Для всех типов диапазона,
  • кроме между и не между
  • val1 - Значение 1. Заполняется при выборе области применения по значениям. Для типа диапазона между и не между
  • val2 - Значение 2. Заполняется при выборе области применения по значениям. Для типа диапазона между и не между
  • val_js - Значение. Заполняется при выборе области применения смешанного варианта.
  • val_dt_0 - Значение (дата). Заполняется при выборе области применения по ключам(датам). Для всех типов диапазона,
  • кроме между и не между
  • val_dt_1 - Значение 1 (дата). Заполняется при выборе области применения по ключам(датам). Для типа диапазона
  • между и не между
  • val_dt_2 - Значение 2 (дата). Заполняется при выборе области применения по ключам(датам). Для типа диапазона
  • между и не между
  • fillcolor - Цвет заливки. Задается цветом.
  • bordercolor - Цвет границы. Задается цветом.
  • borderweight - Толщина границы
  • borderstyle - Стиль границы
  • 0 - Сплошная линия
  • 1 - Пунктир
  • fontsize - Текст (подписи) - размер шрифта
  • fontcolor - Текст (подписи) - цвет текста. Задается цветом.

Цвета задаются следующим кодировками

  • HEX - кодировка
  • RGBA - кодировка
Пример cо всеми полями:
[
    {
        "name": "Диапазон 1",
        "type": 3,
        "val0": "",
        "val1": "",
        "val2": "",
        "val_js": "[]",
        "val_str": "",
        "app_area": 2,
        "fontsize": "",
        "val_dt_0": "01.02.2020",
        "val_dt_1": "",
        "val_dt_2": "",
        "fillcolor": "rgba(245, 36, 36, 0.5)",
        "fontcolor": "",
        "bordercolor": "",
        "borderstyle": 0,
        "borderweight": "",
        "id_attribute": ""
    },
    {
        "name": "Диапазон 2",
        "type": 3,
        "val0": "",
        "val1": "",
        "val2": "",
        "val_js": "[]",
        "val_str": "x5",
        "app_area": 1,
        "fontsize": "",
        "val_dt_0": "",
        "val_dt_1": "",
        "val_dt_2": "",
        "fillcolor": "rgba(255, 192, 37, 0.5)",
        "fontcolor": "",
        "bordercolor": "",
        "borderstyle": 0,
        "borderweight": "",
        "id_attribute": "ts_name"
    },
    {
        "name": "Диапазон 3",
        "type": 1,
        "val0": "",
        "val1": 4.0,
        "val2": 5.0,
        "val_js": "[]",
        "val_str": "",
        "app_area": 0,
        "fontsize": "",
        "val_dt_0": "",
        "val_dt_1": "",
        "val_dt_2": "",
        "fillcolor": "rgba(95, 195, 1, 0.5)",
        "fontcolor": "",
        "bordercolor": "",
        "borderstyle": 0,
        "borderweight": "",
        "id_attribute": ""
    },
    {
        "name": "Диапазон 4",
        "type": 3,
        "val0": "",
        "val1": "",
        "val2": "",
        "val_js": "[\r\n    {\r\n        \"area\": \"Value\",\r\n        \"type\": \"Less\",\r\n        \"value\": 0\r\n    },\r\n    {\r\n        \"area\": \"Attribute\",\r\n        \"id\": \"ts_name\",\r\n        \"type\": \"Equal\",\r\n        \"value\": \"x8\"\r\n    },\r\n    {\r\n        \"area\": \"KeysData\",\r\n        \"type\": \"Between\",\r\n        \"value\": \"01.11.2020\",\r\n        \"value2\": \"01.11.2021\"\r\n    }\r\n]",
        "val_str": "",
        "app_area": 3,
        "fontsize": "",
        "val_dt_0": "",
        "val_dt_1": "",
        "val_dt_2": "",
        "fillcolor": "rgba(0, 232, 229, 0.5)",
        "fontcolor": "",
        "bordercolor": "",
        "borderstyle": 0,
        "borderweight": "",
        "id_attribute": ""
    }
]
Пример c короткой записью:
[
    {
        "type": 3,
        "app_area": 2,
        "val_dt_0": "01.02.2020",
        "fillcolor": "rgba(245, 36, 36, 0.5)",
    },
    {
        "type": 3,
        "val_str": "x5",
        "app_area": 1,
        "fillcolor": "rgba(255, 192, 37, 0.5)",
        "id_attribute": "ts_name",
    },
    {
        "type": 1,
        "val1": 4.0,
        "val2": 5.0,
        "app_area": 0,
        "fillcolor": "rgba(95, 195, 1, 0.5)",
    },
    {
        "type": 3,
        "val_js": "[\r\n    {\r\n        \"area\": \"Value\",\r\n        \"type\": \"Less\",\r\n        \"value\": 0\r\n    },\r\n    {\r\n        \"area\": \"Attribute\",\r\n        \"id\": \"ts_name\",\r\n        \"type\": \"Equal\",\r\n        \"value\": \"x8\"\r\n    },\r\n    {\r\n        \"area\": \"KeysData\",\r\n        \"type\": \"Between\",\r\n        \"value\": \"01.11.2020\",\r\n        \"value2\": \"01.11.2021\"\r\n    }\r\n]",
        "app_area": 3,
        "fillcolor": "rgba(0, 232, 229, 0.5)",
    }
]