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

UI-действия

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

подсказка

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

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

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

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


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


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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

внимание

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

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

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

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


Условия определяют ситуации, когда отображаются действия пользовательского интерфейса. Поле Условие предполагает использование серверного 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 на клиентский.

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

ss.addInfoMessage(current.description);

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