Конструктор бизнес-логики

Всем привет!
Сегодня рассмотрим такой виджет как Конструктор бизнес-логики.

В этой статье расскажу о двух разных режимах работы данного виджета.
Для начала рассмотрим, как работает КБЛ с первым источником из настроек, благодаря которому наши слоты отображаются в зависимости от наличия записей в датасете

Приступим к настройке.

  1. Подключим датасет в первый источник в виджете и создадим необходимые нам метрики:

  1. Далее выберем метрику/измерение в КБЛ по которому мы будем определять наличие слота, в нашем случае это будет поле из датасета «unique_name»

  2. Cоздадим название слотов

Важно, имя слота должно быть точно таким же как и значение в датасете по полю которое мы выбрали в метрике(unique_name), тогда слот будет скрываться/отображаться в зависимости от наличия записи в датасете

Порядок слотов в виджете определяется порядком строк в датасете, для этого удобно использовать какое-то поле, с помощью которых мы сможем сортировать контент и регулировать какой слот будет 1-2-3 и т.д.

Так же и с отображением слотов. В нашем случае используется поле «is_enabled»
В нашем датасете используется фильтрация благодаря которой попадают строки только со значением «True». Могут так же использоваться и другие названия колонок и индикации в них(числа, текст итд) Благодаря данной колонке мы сможем регулировать напрямую через датасет отображение/скрытие слота, управляя одним параметром

Рассмотрим на практике:
На нашем небольшом экране попробуем убрать блок «документы». Все 4 элемента лежат у меня в слотах Конструктора бизнес-логики, каждый элемент в своем созданном слоте. Соответственно, мне нужно лишь в датасете исключить запись с документами. Этого можно добиться двумя способами, либо в поле is_enabled проставив в датасете False(тогда запись в принципе не попадет в наш источник, учитывая нашу фильтрацию), либо через настройки СДК проставив там необходимый фильтр

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

Существует и другой режим КБЛ при котором слот определяется через фильтрацию и правила в слотах. Для подготовки к работе добавим на страницу фильтр по кварталам который будет отправлять переменную quart_id и соответственно фильтровать контент в КБЛ. Каждый квартал соответствует своему слоту в конструкторе бизнес-логики. Дашборды – 1 квартал, маркетплейс – 2 квартал итд.

Приступим к настройке Конструктора бизнес-логики

  1. Для начала необходимо добавить наш датасет в «Источники фильтрации»

  1. Далее необходимо либо создать с нуля слоты с любым названием, либо использовать те же наши слоты из 1 источника, тогда кбл будет работать сразу в двух режимах, в нашем случае оставим те же слоты

  2. Добавим правила, используя необходимые условия, покажу вам пример создания условия через переменную.

При таких условиях наш слот определяется значением переменной, которая придет в хранилище,
1-4 id кварталов которые отправляет фильтр

  1. Сохраняемся и проверяем результат

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

В данном примере проводили сравнение с конкретным значением, но существуют и другие варианты:

Также есть возможность сравнивать значение в источнике со значением из переменной, для демонстрации данного функционала добавим поле в датасет со списком пользователей

и фильтр, который будет отправлять имя пользователя в хранилище:

Далее добавим на слот redactor еще одно условие в правило, что если значение переменной “user” есть в нашем датасете(колонка - Пользователь), тогда мы отображаем данный слот, такое условие записывает вот так:

Пользователь in user (x)

при этом предыдущее сравнение с кварталами мы оставим, таким образом проверка будет проходить сразу по двум условиям и слот будет отображаться только если все соблюдены

Как мы видим при фильтрах: 4 квартал и пользователь Alexey, наш слот отображается, поскольку правило выполняется, но как только мы выбираем другого пользователя которого не было в нашем датасете(пример – Konstantin) слот исчезает, т.к. значение переменной user не оказалось в нашем источнике

На этом все, мы рассмотрели несколько вариантов использования КБЛ, но лучше всего функционал виджета понимается на практике, поэтому советую вам самим попробовать его настроить. Спасибо за внимание)

8 лайков