Обзор современных команд

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

Командная строка

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

  • Отображение. Как выглядит кнопка и где она находится в приложении. Например, метка кнопки, значок и метки специальных возможностей, а также расположение и положение панели команд на панели команд.
  • Действие. Логика, которая выполняется при выборе кнопки. Например, создание и обновление данных или взаимодействие с различными элементами управления и страницами внутри приложения.
  • Видимость. Логические условия, определяющие, когда кнопка видна или скрыта для пользователя. Например, вы можете захотеть, чтобы кнопка была видна для одних пользователей и скрыта для других. Или, возможно, кнопка должна быть видна только тогда, когда выполняются определенные критерии записей данных.

Расположения панели команд

  • Основная сетка. Эта панель команд отображается при использовании левой области навигации приложения для просмотра полностраничного списка записей в этой таблице.

    Панель команд в основной сетке

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

    Основная форма

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

    Представление вложенной сетки

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

    Связанное представление

  • Быстрые действия. Быстрые действия связаны с основным расположением сетки. Чтобы добавить или изменить команды как для быстрых действий, так и для расположения в основной сетке, выберите нужную таблицу в современном конструкторе приложений, затем отредактируйте панель команд и выберите расположение в основной сетке. Первые пять команд, определяемые по порядку, также будут отображаться как быстрые действия при запуске приложения.

    Пример быстрого действия, настроенного для таблицы контактов

Примечание

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

Типы команд

  • Команда. Стандартная кнопка. Выполняет действие при выборе. Также может быть вложена в группы в раскрывающихся списках и разделенных кнопках. Обратите внимание, что в классическом управлении команд они назывались всплывающими окнами.
  • Раскрывающееся меню. Создает меню, которое позволяет организовать команды в группе.
  • Группа. Позволяет добавить заголовки для групп команд в пределах раскрывающихся меню или разворачивающихся кнопок.
  • Разворачивающаяся кнопка. Похоже на раскрывающийся список, но имеет основную команду. При выборе разворачивающейся кнопки выполняется действие из основной команды. Если выбран значок развертывания, основная команда не будет выполнена. Вместо этого список будет развернут, чтобы показать дополнительные группы, всплывающие меню и команды.

Типы команд

Основные различия между классическими и современными командами

Классические команды (ранее известные как лента) нельзя было настраивать с помощью низкого уровня кода. С кодом настройка команд была сложной, утомительной и подверженной ошибкам. Чтобы масштабировать командование до низкого уровня кода, а также использовать настраиваемые страницы для объединения приложений на основе холста и моделей, было жизненно важно заново изобрести и перестроить инфраструктуру команд.

Современные команды содержат множество новых возможностей и намного проще в использовании.

Возможность Классические Современные
Поддерживается в среде выполнения приложения на основе модели Да Да, дополнительно поддерживает среду выполнения Power Fx.
Настраиваемые с помощью Ручное редактирование XML в файлах решений или с помощью сторонних инструментов. Требуемые трудоемкие операции экспорта и импорта решений. Конструктор команд, а также поддержка API Dataverse.
Поддерживает Power Fx. No Да. Для действий и видимости.
Время, необходимое для настройки Медленно, подвержено ошибкам. Быстро
Надежность и производительность Легко сделать ошибки. Плохая настройка и отсутствие области обзора часто влияют на производительность приложения Встроенная обработка ошибок предотвращает ошибки. Оптимизация Power Fx для улучшения производительности во время выполнения.
Общий доступ Стандартная безопасность Dataverse на основе ролей. Команды, отличные от Power Fx используют стандартную безопасность Dataverse на основе ролей. Команды Power Fx в настоящее время требуют совместного использования библиотеки компонентов команд в дополнение к соответствующей роли безопасности.
Решение и поведение ALM Несогласованное и проблематичное многоуровневое решение, отсутствие интерфейса решения. Не поддерживаются многие стандартные варианты поведения решений, такие как исправления, сегментация, обновление решения, управляемые свойства и многое другое. Стандартное многоуровневое решение с централизованным управлением для нескольких типов объектов решения в Dataverse. Присутствует в интерфейсе решения. Поддерживаются все стандартные варианты поведения решения.
Локализация Нестандартный Стандартизировано с использованием экспорта и импорта переводов для всего решения.
Модель данных Сложная. Оптимизировано для классических лент и содержит множество свойств, которые больше не нужны. Простая, оптимизированная для современных панелей команд приложений на основе модели.
Использование JavaScript Да Да. Теперь проще. Примечание. Один и тот же JavaScript можно использовать для классических и современных команд.
Настройка готовых команд Да Команды становятся редактируемыми в конструкторе команд после перехода на современную платформу.
Специальные команды приложения Нет Да. Использование современного конструктора команд гарантирует, что команды видны только в выбранном приложении.
Команды для конкретных таблиц, которые будут отображаться во всех приложениях, содержащих таблицу Да Да. Требует модификации определения appaction в файле решения.
Глобальные команды, которые будут отображаться для всех таблиц и приложений для указанного местоположения панели команд Да Да. Требует модификации определения appaction в файле решения.
Создание разделенных кнопок, всплывающих меню и групп Да Да
Динамическое заполнение всплывающего меню кодом Да Нет. Мы рекомендуем создавать команды декларативно.
Настройка глобальных команд заголовка приложения Да Нет
Настройка команд для других, необычных или устаревших расположений панели команд Да Нет
Выполнение современного потока или рабочего процесса Использование JavaScript Использование JavaScript. Также поддерживается использование пользовательской страницы.

Сравнение классических и современных правил видимости

Классические правила видимости часто имели конкретное правило для каждого сценария. В Power Fx декларативная функция заменяет многие классические правила. И это намного проще в использовании.

Обратите внимание, что классические правила видимости скоро будут поддерживаться и в современных командах. Однако поддержка классических правил была необходима для надежного переноса классических команд на современные, а настройка классических правил в конструкторе команд не поддерживается. Мы рекомендуем вам использовать Power Fx в будущем.

Вариант использования Классическое правило Классические параметры Видимое свойство Power Fx
Показать / скрыть на основе значений данных CustomRule Использование JavaScript !IsBlank(Self.Selected.Item.Email)
Показать/скрыть в зависимости от разрешения таблицы EntityPrivilegeRule Несколько DataSourceInfo()
Показать/скрыть в зависимости от разрешения записи RecordPrivilegeRule Несколько RecordInfo()
Ссылка на контекст управления для основных и связанных таблиц EntityRule PrimaryEntity. SelectedEntity Self.Selected
Ссылка на контекст элемента управления EntityRule Form. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Свойства метаданных таблицы EntityPropertyRule DataSourceInfo()
Показать / скрыть в зависимости от состояния формы. Например, показать для формы создания FormStateRule Create. Existing. ReadOnly. Disabled. BulkEdit Self.Selected.State = FormMode.New
Показывать, когда > 1 записей выбраны в сетке SelectionCountRule CountRows(Self.Selected.Items) > 1
Показать / скрыть связанную таблицу в полиморфном поиске. Например, проверьте, является ли поиск пользователем ИЛИ командой CustomRule PrimaryEntityTypeCode IsType(), AsType
Свойства эталонной среды (организация) CustomRule OrgName. OrgLcid. UserLcid В настоящее время недоступно

Вопросы и ответы

  • Почему я вижу в конструкторе больше команд, чем в своем приложении?
    • Существует несколько причин. Иногда существует логика видимости, которая скрывает команду при запуске приложения. В других случаях эти команды динамически вводятся через пользовательский JavaScript во время выполнения и не могут быть настроены.
  • Почему я вижу повторяющиеся команды в конструкторе?
    • Это обычный шаблон, используемый с классическими командами. Обе команды не будут отображаться во время выполнения, поскольку они управляются правилами видимости. Конструктор команд покажет все команды, независимо от их правил видимости.

См. также

Настройте панель команд с помощью конструктора команд
Управление командами в решениях
Известные ограничения современных команд