Действия пользовательского интерфейса (UI) — это кнопки, ссылки и элементы контекстного меню в формах и списках. Они позволяют настроить взаимодействие пользователя с интерфейсом, чтобы он был более интерактивным, регулируемым и удобным для работы.

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

Типы действий

  1. На формах:
    • Вверху слева
    • Вверху справа
    • В бургер-меню
    • В контекстном меню заголовка поля
    • Ссылка внизу формы 
    • Внизу формы
  2. В списках:
    • Вверху слева
    • Вверху справа
    • В бургер-меню
    • В контекстном меню заголовка поля
    • В контекстом меню строки
    • Ссылка под списком 
  3. Другие:
    • В контекстом меню кнопки 
    • В контекстом меню схемы зависимостей

Действия на формах


Действия на списках


Настройка действий

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

Для этого выполните следующие шаги:

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

Поля формы UI-действия

ПолеОбязательноОписание
НаименованиеДаУкажите название действия пользовательского интерфейса. Этот текст отображается на кнопке, ссылке или в виде пункта контекстного меню.
ТаблицаДаУкажите таблицу для отображения действия пользовательского интерфейса.
РодительНетУкажите элемент контекстного меню в качестве родителя для текущего действия пользовательского интерфейса (применимо к типу действия пользовательского интерфейса Бургер-меню).
КомментарийНетВведите краткое описание действия.
АктивноНетУстановите этот флажок, чтобы действие пользовательского интерфейса отображалось на форме (в списке, в контекстном меню).
НаследуемоеНетУстановите этот флажок, чтобы это действие пользовательского интерфейса отображалось на всех дочерних таблиц Таблицы.
ПорядокНетУкажите порядок отображения. Если есть действия пользовательского интерфейса одного типа, они располагаются в порядке возрастания.
ПереопределяетсяНет

Укажите действие пользовательского интерфейса, которое будет переопределено текущим действием пользовательского интерфейса.

Узнайте больше о наследовании и переопределении действий пользовательского интерфейса.

Условия и действия

На новой записи

НетУстановите этот флажок, чтобы отобразить это действие пользовательского интерфейса на новой форме записи.
На существующей записиНетУстановите этот флажок, чтобы отобразить это действие пользовательского интерфейса на существующей форме записи.
Дождаться ответа сервераНетУстановите этот флажок, чтобы указать, что система должна ожидать ответа сервера после нажатия кнопки. Все кнопки с подобной настройкой на странице становятся неактивными до ответа сервера.
КлиентскоеНетУстановите этот флажок, чтобы указать, что это действие пользовательского интерфейса выполняется только на стороне клиента (в браузере пользователя).
УсловиеНетУкажите условие с использованием серверного API. Если это условие выполняется, то кнопка будет отображаться на странице.
СкриптНетЗадайте скрипт, который будет выполняться при нажатии на действие пользовательского интерфейса.
URLНет

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

ПеременнаяОписание
{CURRENT_TABLE}Имя текущей таблицы, в записи которой находится действие пользовательского интерфейса.
{CURRENT_ID}ID текущей записи, для которой было вызвано действие пользовательского интерфейса.
{CURRENT_FORM_VIEW}Название представления формы, для которого было вызвано действие пользовательского интерфейса.
{CURRENT_RELATED_LIST_VIEW}Название представления связанного списка, для которого было вызвано действие пользовательского интерфейса.
{CURRENT_TABLE_ID}ID таблицы, которая является текущей для действия пользовательского интерфейса.
{CURRENT_LIST_VIEW}Название представления списка, для которого было вызвано действие пользовательского интерфейса.
{LIST_TABLE_NAME}Название таблицы списка, отображаемого на текущей странице. Если текущий путь к странице — /list, то значение этой переменной равно значению переменной {CURRENT_TABLE}. Если текущий путь к странице — /record, то значение этой переменной содержит системное имя активного связанного списка.
{LIST_TABLE_ID}ID таблицы списка, отображаемого на текущей странице. Если текущий путь к странице — /list, то значение этой переменной равно значению переменной {CURRENT_TABLE_ID}. Если текущий путь к странице — /record, то значение этой переменной содержит системное имя активного связанного списка.
{RELATED_COLUMN_NAME}Эта переменная возвращает системное имя колонки, содержащее идентификатор таблицы, на которую делается ссылка.
{RELATED_LIST_ELEMENT_ID}Эта переменная возвращает ID активного элемента связанного списка.
{CURRENT_RELATED_ID}Эта переменная возвращает ID текущей связанной записи.
{CURRENT_FORM_ID}Эта переменная возвращает ID текущего представления формы.
Позиция и стиль
Использовать дляНет

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

Тип списка:

  • Списки + связанные списки – это действие пользовательского интерфейса должно отображаться как в списках, так и в связанных списках.
  • Списки – это действие пользовательского интерфейса должно отображаться только в списках.
  • Связанные списки – это действие пользовательского интерфейса должно отображаться только в связанных списках.

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

Эти параметры отображают типы отношений между связанными элементами списка и родительской таблицей.

Например: связанный список Критерии пользователя содержит поле Пользователи типа List. Это поле связано с таблицей Пользователи (user), поэтому это связанное поле относится к типу поля List.

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

ОпцияПример
Тип поля ReferenceСвязанный список Дочернии категории на форме записи Категории меню.
Тип поля ListСвязанный список Индикаторы на форме записи Соглашения.
Тип поля Document IDСвязанный список Журнал работы скриптов на форме записи Скрипта.
Синтетический список

Связанный список Переводы на форме записи Колонки.

Тип связи M2MСвязанные списки Группы пользователяРоли пользователя на форме записи Пользователя.
Форма
Стиль формыНет

Стиль кнопок на форме. Доступные опции:

  • Без стиля
  • Основной
  • Позитивный
  • Негативный
  • Второстепенный

Вверху слеваНетКнопка в шапке формы слева.
Вверху справаНетКнопка в шапке формы справа.
В бургер-менюНетЭлемент бургер-меню на форме.
В контекстом меню заголовка поляНетПункт контекстного меню для полей на форме.
Ссылка внизу формыНетСсылка на форме. 
Внизу формыНетКнопка внизу формы.
Список
Стиль спискаНет

Стиль кнопок на форме. Доступные опции:

  • Без стиля
  • Основной
  • Позитивный
  • Негативный
  • Второстепенный

Вверху слеваНетКнопка в шапке списка слева.
Вверху справаНетКнопка в шапке списка справа.
В бургер-менюНетЭлемент бургер-меню списка.
В контекстом меню заголовка колонкиНетПункт контекстного меню для колонок списка.
В контекстном меню строкиНетПункт контекстного меню строки списка.
Ссылка под спискомНетСсылка под списком. 
Под спискомНетКнопка внизу списка.
В контекстном меню кнопкиНетПункт контекстного меню кнопки.
В контекстом меню схемы зависимостейНетПункт контекстного меню на форме сервисной модели.

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

  1. Нажмите правой кнопкой мыши на действие, которое необходимо изменить, чтобы открыть контекстное меню.
  2. Щелкните Редактировать действие. Появится форма действия пользовательского интерфейса.

Глобальные действия


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

Для этого выполните следующие действия:

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

Большинство элементов бургер-меню и некоторые кнопки на формах (Создать, Сохранить, Сохранить и выйти) и в списках (Создать, Удалить) являются глобальными.

Добавление многоуровневых действий


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

Эта опция доступна только для действий пользовательского интерфейса типа Бургер-меню.

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

  1. Создайте родительское действие пользовательского интерфейса, указав его тип с помощью флажков В бургер-меню в областях Стиль формы или Стиль списка во вкладке Позиция и стиль.
  2. Нажмите Сохранить и выйти, чтобы закрыть форму.
  3. Создайте дочернее действие пользовательского интерфейса того же типа, указав его родительское действие пользовательского интерфейса, созданное ранее.
  4. (опционально) Установите флажок Наследуемое, чтобы добавить эти действия на дочерние таблицы.
  5. Нажмите Сохранить, чтобы применить изменения.

Настройка условий отображения


Условия определяют ситуации, когда отображаются действия пользовательского интерфейса. Поле Условие предполагает использование серверного API. Чтобы включить использование клиентского API, на форме действия пользовательского интерфейса установите флажок Клиентское. В Условие для доступа к действию пользовательского интерфейса используйте объект конкретной записи current, на которой будет находиться действие. Этот объект можно использовать только для действий пользовательского интерфейса, отображаемых на формах.

Вызывайте объект current при обновлении, поскольку в таком случае объект будет определен. При создании нового действия пользовательского интерфейса значение current равно null.

Используйте логические операторы && (И) и || (ИЛИ) для составления сложных условий.

Условие позволяет вызывать созданные на стороне сервера внешние скрипты. В приведенном ниже примере функция wfContextExists() из внешнего скрипта с тем же именем получает current.sys_id и current.getTableName в качестве аргументов recordID и tableName.

Объект ss позволяет вызывать методы SimpleSystem.

Это действие пользовательского интерфейса является ссылкой на запись с ID таблицы getTableName. Если запись существует, функция возвращает true или false, если запись не найдена. В зависимости от возвращаемого значения функция отображает действие пользовательского интерфейса или нет.

Пример
function wfContextExists(recordID, tableName){
  const table = new SimpleRecord('sys_db_table');
  table.get('name', tableName);
  const wfContext = new SimpleRecord('wf_context');
  wfContext.addQuery('related_record_id', ss.getDocIdByIds(table.sys_id, recordID));
  wfContext.selectAttributes('sys_id');
  wfContext.query();
  return (wfContext.getRowCount() > 0)
}

Определение поведения действия с помощью скрипта


Поле Скрипт определяет поведение действия пользовательского интерфейса. По умолчанию это поле поддерживает серверный API. Установите флажок Клиентское, чтобы переключить доступный клиентский API

Например, это действие пользовательского интерфейса добавляет информационное сообщение с содержимым поля Описание:

UI-действие
ss.addInfoMessage(current.description);

Когда вызывается объект current, нет необходимости использовать метод initialize(); контекст объекта уже инициирован.

  • No labels