Select journal

Контрол Select journal позволяет выбирать значения из журнала платформы Citeck. Используется для заполнения полей-ассоциаций: пользователь открывает модальное окно с записями журнала и выбирает нужное значение. Компонент поддерживает автоматическое определение журнала по типу ассоциации, предустановленные фильтры, настройку сортировки, агрегацию данных из нескольких рабочих пространств, а также режим пользовательских значений.

Настройка компонента

Чтобы указать, какой журнал отображать для выбора значения, в настройках компонента требуется заполнить поле ID журнала.

Компонент автоматически вычисляет журнал на основе типа ассоциации, которая указана в атрибуте, при этом поле ID журнала заполнять не нужно.

Режим отображения «Пользовательские значения»

Для передачи в массив определенных данных выбранного журнала (ID журнала) используйте режим Пользовательские значения.

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

При этом все поля, связанные с фильтрацией, сортировкой и табличным представлением скрываются.

Выбор рабочих пространств для агрегации данных

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

Значение по умолчанию - Только текущее пространство. Для выбора доступны значения:

  • Все пространства

  • Только текущее пространство (по умолчанию)

  • Текущее и дополнительные пространства

  • Только дополнительные пространства

При выборе Текущее и дополнительные пространства или Только дополнительные пространства становится доступен выбор дополнительных пространств:

Динамические критерии для поиска

На вкладке Данные в поле Пользовательские данные запроса есть возможность генерировать дополнительные параметры поиска:

Список предикатов описан в статье Язык предикатов в разделе JSON представление.

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

На вкладке Данные в поле Предикаты предустановленного фильтра можно настроить фильтры компонента, которые будут применены при инициализации. Поле Предикаты предустановленного фильтра принимает javascript-выражение, в котором необходимо присвоить переменной value массив из предикатов.

Пример для компонента с установленным ID журнала = „currency“:

В результате при открытии модального окна выбора по умолчанию будет применён фильтр по полю «Заголовок» с типом предикатом «contains» и значением «рубль».

Список предикатов описан в статье Язык предикатов (добавить ссылку) в разделе JSON представление.

Настройка сортировки по атрибуту

Для настройки сортировки по атрибуту в разделе «Сортировка» указать атрибут и порядок сортировки:

Миграция инварианта «Value Title» на новые формы

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

Если же отображаемое имя специфично для конкретной формы или записи в журнале виртуальные (не имеют представления на сервере), то можно воспользоваться вычисляемым полем Отображаемое имя значения.

В скрипт записаный в данном поле в качестве аргументов подается

„-“

lodash библиотека с утилитными функциями

value

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

../../../../../_images/select_journal_4.png

В некоторых случаях value.att() может возвращать пустое значение т.к. значение не было подгружено. Можно использовать следующий код для корректного отображения даже если значение не подгружено.

../../../../../_images/select_journal_5.png