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

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

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

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

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

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

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

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


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

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

  1. Откройте форму, на которую вам необходимо добавить связанный список. 
  2. В бургер-меню выберите Настроить → Связанные списки → Макет.
  3. Настройте наборы связанных списков, перемещая элементы из окон в heapselect:

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

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

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

    • Чтобы переместить элементы, перетаскивайте их или используйте кнопки и.
    • Чтобы убрать или добавить все колонки, нажмите кнопку  или.
    • Чтобы изменить порядок отображения полей, используйте кнопки  и .
    • Чтобы переместить несколько элементов подряд, выберите их, удерживая клавишу 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.

  • No labels