Перейти к основному содержимому

Трансформеры

Выберите условный трансформер, введите условие и действие в формате json.

Рассмотрим пример. Если стоит чек-бокс в Дополнительном поле 1, то поле с данной заявкой будет выделено цветом.

{
"condition": {
"fieldId": "boolAddField1",
"type": "eq",
"value": "true"
},
"actions": [
{
"type": "setRowColor",
"value": "#9289D0"
}
]
}

Пример с условным трансформером

где:

{
"condition": {
"fieldId": "идентификатор", // берём из «Открыть метаданные»
"type": "тип_условия",
"value": "значение" // или массив значений

Где брать идентификаторы

  • При редактировании любого отчёта в правом верхнем углу (рядом со значком вызова справки) находится кнопка «Открыть метаданные». Нажмите её — откроется полный список всех доступных полей и их идентификаторов, которые можно использовать.

Поддерживаемые типы условий

eqравно"true"
greaterбольше10
lessменьше5
lessOrEqualменьше или равно50
greaterOrEqualбольше или равно20
inвходит в массив["vip", "сотрудник"]
isNullOrEmptyполе пустое или nulltrue
notNullAndNotEmptyполе заполненоtrue

Поддерживаемые типы действий

typeЧто делает
setRowColorМеняет цвет фона всей строки
setTextColorМеняет цвет текста
setValueПолностью заменяет значение в ячейке

В следующем примере цветом будут выделены иностранные граждане.

{
"condition": {
"fieldId": "visitors.isForeignCitizen",
"type": "eq",
"value": "true"
},
"actions": [
{
"type": "setRowColor",
"value": "#E17967"
}
]
}

Пример конфигурации, если необходимо подсвечивать заявки, где посещение длится больше двух дней.

{
"condition": {
"expression": {
"fieldId1": "deactivateDateTime",
"fieldId2": "activateDateTime",
"operator": "minus"
},
"type": "greater",
"value": "2"
},
"actions": [
{
"type": "setRowColor",
"value": "#E17967"
}
]
}

Пример, позволяющий изменить цвет фона строки и цвет текста в зависимости от условия.

{
"condition": {
"fieldId": "dictAddField1.id",
"type": "eq",
"value": "426"
},
"actions": [
{
"type": "setRowColor",
"value": "#D70B06"
},
{
"type": "setTextColor",
"value": "#fff"
}
]
}