Перейти к основному содержимому
Версия: 1.21.3

Связанные списки

Связанные списки отображаются в нижней части форм и отображают записи, связанные с текущей записью, в виде таблиц, Например, запись Таблица (sys_db_table) содержит связанный список колонок. Он отображает записи из таблицы Колонки (sys_db_column), связанные с текущей записью.

Существует два типа связанных списков:

  • Ссылочные связанные списки имеют прямую ссылку на другую таблицу через ID текущей записи. Например, запись в таблице А содержит ID записи из таблицы Б. Тогда запись из таблицы Б, на которую ссылаются, будет иметь связанный список с записью из таблицы А в нем. Эта связь устанавливается колонками типа Reference, List и Document ID.
  • Синтетические связанные списки не имеют прямых ссылок друг на друга. Смотрите раздел Динамические связанные списки.

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

внимание

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

Некоторые записи скрыты политикой безопасности

примечание
  • При добавлении нового связанного списка копируется и используется представление списка по умолчанию связанной таблицы. Вы можете настроить вид позже.
  • При создании дочерней таблицы ее форма и представление списка копируются из родительской таблицы с учетом представлений секций и связанных списков. Вы можете настроить эти представления позже. Дополнительные сведения смотрите в статьях Представление списков и Представление форм.

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

Добавление связанного списка


подсказка

Требуемая роль: admin.

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

  1. Откройте форму, на которую вам необходимо добавить связанный список.
  2. В бургер-меню выберите Настроить → Связанные списки → Макет.
  3. Настройте наборы связанных списков, перемещая элементы из окон: Окно Доступно для выбора содержит список связанных таблиц, которые вы можете добавить на форму. Окно Выбрано содержит список связанных таблиц, которые отображаются на форме.Отредактируйте область связанных списков, выполнив следующие действия:
    • Чтобы переместить элементы, перетаскивайте их или используйте кнопки и .
    • Чтобы убрать или добавить все колонки, нажмите кнопку или .
    • Чтобы изменить порядок отображения полей, используйте кнопки и .
    • Чтобы переместить несколько элементов подряд, выберите их, удерживая клавишу Shift, а затем перетащите их в нужную область.
    • Чтобы перенести несколько разбросанных элементов, выберите их, удерживая клавишу Ctrl, а затем перетащите их в нужную область.
  4. Нажмите Сохраните, чтобы применить изменения.

Перед стрелкой (→) отображается заголовок таблицы, в которой хранятся связанные записи. После стрелки (→) отображается поле, относящееся к текущей записи. То есть, Задачи инцидентаРодитель будет отображать записи из таблицы Задачи инцидента, у которых в поле Родитель значение содержит ID текущей записи.

В одной таблице может быть более одного поля: таблица Запросы на изменение (itsm_change_request) может ссылаться на текущую запись в полях Вызвано инцидентами, Родитель, Связанные инциденты и Решенные инциденты.

подсказка

Связанные списки связаны через ID текущей записи. То есть условием для связанного списка является [Наименование колонки] равно [ID текущей записи]. Чтобы создать более точные условия и установить сложные отношения между полями, создайте связанный список скриптов.

Создание записи в связанном списке


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

подсказка

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

Чтобы создать запись через связанный список, выполните следующие шаги:

  1. Откройте запись, к которой вам нужно добавить связанную запись. 
  2. Перейдите в область Связанные списки и откройте необходимую вкладку.
  3. Нажмите Сохранить, заполните поля.
  4. Нажмите Сохранить или Сохранить и выйти.

Добавление записей через связанный список


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

подсказка

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

Чтобы добавить запись в связанный список, выполните следующие шаги:

  1. Откройте запись, к которой вам нужно добавить связанную запись. 
  2. Перейдите в область Связанные списки и откройте необходимую вкладку.
  3. Нажмите Изменить.
  4. Используя heapselect, выберите записи для привязки к текущей записи.
  5. Нажмите Сохранить.

Динамические связанные списки


Динамические связанные списки отличаются от ссылочных связанных списков – они связанны скриптом синтетически. То есть вы можете добавить отношения между таблицами, которые не ссылаются друг на друга в колонках типа Reference, List или Document ID. Эти списки можно настроить с помощью таблицы Динамические связанные списки (sys_related_list_script).

Чтобы настроить динамический связанный список, выполните следующие шаги:

  1. Перейдите в Настройка системы → Динамические связанные списки.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Динамические связанные списки

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

В своем скрипте вы можете свободно использовать объекты current и parent. Основная цель этого скрипта – сгенерировать запрос, который будет применен к таблице, указанной в поле Запрос от.

примечание
  1. Объект current – это объект таблицы, в которой создается запрос (таблица, указанная в поле Запрос от).
  2. Объект parent – это ссылка на объект таблицы, указанной в поле Применить к.

Другими словами, объект parent – это форма записи, указанная в поле Применить к, а объект current – это список таблицы, указанной в поле Запрос от.

Вы можете использовать любые методы серверного API SimpleRecord Server-Side в качестве директив в объектах current и parent.