Select journal
Контрол Select journal позволяет выбирать значения из журнала платформы Citeck. Используется для заполнения полей-ассоциаций: пользователь открывает модальное окно с записями журнала и выбирает нужное значение. Компонент поддерживает автоматическое определение журнала по типу ассоциации, предустановленные фильтры, настройку сортировки, агрегацию данных из нескольких рабочих пространств, а также режим пользовательских значений.
Настройка компонента
Чтобы указать, какой журнал отображать для выбора значения, в настройках компонента требуется заполнить поле ID журнала.
Компонент автоматически вычисляет журнал на основе типа ассоциации, которая указана в атрибуте, при этом поле ID журнала заполнять не нужно.
Режим отображения «Пользовательские значения»
Для передачи в массив определенных данных выбранного журнала (ID журнала) используйте режим Пользовательские значения.
При выборе режима отображения Пользовательские значения ниже укажите значения, которые необходимо выводить.
При этом все поля, связанные с фильтрацией, сортировкой и табличным представлением скрываются.
Выбор рабочих пространств для агрегации данных
На вкладке Данные в поле Рабочие пространства для поиска доступен выбор рабочих пространств, из которых агрегировать данные журнала. Данные журнала будут агрегироваться с учетом добавленных рабочих пространств.
Значение по умолчанию - Только текущее пространство. Для выбора доступны значения:
Все пространства
Только текущее пространство (по умолчанию)
Текущее и дополнительные пространства
Только дополнительные пространства
При выборе Текущее и дополнительные пространства или Только дополнительные пространства становится доступен выбор дополнительных пространств:
Динамические критерии для поиска
На вкладке Данные в поле Пользовательские данные запроса есть возможность генерировать дополнительные параметры поиска:
Список предикатов описан в статье Язык предикатов в разделе JSON представление.
Предустановленные фильтры
На вкладке Данные в поле Предикаты предустановленного фильтра можно настроить фильтры компонента, которые будут применены при инициализации. Поле Предикаты предустановленного фильтра принимает javascript-выражение, в котором необходимо присвоить переменной value массив из предикатов.
Пример для компонента с установленным ID журнала = „currency“:
В результате при открытии модального окна выбора по умолчанию будет применён фильтр по полю «Заголовок» с типом предикатом «contains» и значением «рубль».
Список предикатов описан в статье Язык предикатов (добавить ссылку) в разделе JSON представление.
Настройка сортировки по атрибуту
Для настройки сортировки по атрибуту в разделе «Сортировка» указать атрибут и порядок сортировки:
Миграция инварианта «Value Title» на новые формы
Если журнал используется для выбора ассоциаций, то лучше в данном случае зарегистрировать эвалюатор для отображаемого имени в DisplayNameService на сервере. В таком случае отображаемое имя сможет использоваться на формах, в журналах и много где еще.
Если же отображаемое имя специфично для конкретной формы или записи в журнале виртуальные (не имеют представления на сервере), то можно воспользоваться вычисляемым полем Отображаемое имя значения.
В скрипт записаный в данном поле в качестве аргументов подается
„-“ |
lodash библиотека с утилитными функциями |
value |
значение, отображаемое имя которого мы хотим вычислить (даже если поле множественное в скрипт за раз попадает только одно значение) |
В некоторых случаях value.att() может возвращать пустое значение т.к. значение не было подгружено. Можно использовать следующий код для корректного отображения даже если значение не подгружено.