Поділитися через


Огляд сучасного командування

Команди керують основною поведінкою модельних програми. Це кнопки, за допомогою яких користувачі взаємодіють під час відтворення програм, і дії, які відбуваються внаслідок натискання кнопки. Кожна команда розташовується відносно інших команд і пов’язана з розташуванням панелі команд у програмі.

Панель команд

На високому рівні настроювання команд відповідає наведеним нижче категоріям. У кожній категорії існують різноманітні можливості, які докладно описано в документації щодо сучасного командування:

  • Відобразити. Вигляд кнопки та її розташування в програмі. Наприклад, підпис і піктограма кнопки, підпис спеціальних можливостей, а також розташування панелі команд і розміщення на панелі команд.
  • Дія. Логіка, яка виконується внаслідок натискання кнопки. Наприклад, створення й оновлення даних або взаємодія з різними елементами керування та сторінками в програмі.
  • Видимість. Логічні умови, які визначають, коли кнопка буде відображатися або коли буде прихована для користувача. Наприклад, можна зробити кнопку видимою для деяких користувачів і приховати її для інших користувачів. Або кнопка може бути видимою лише за умови задоволення певних умов щодо записів даних.

Розташування панелей команд

  • Основна сітка. Ця панель команд відображається під час використання лівих переходів у програмі, щоб переглянути повний список сторінок записів у цій таблиці.

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

  • Головна форма. Ця панель команд відображається в головних формах таблиці. Вона відображається у верхній частині форми та відрізняється від пов'язаного подання або подання вкладеної сітки, яке відображатиметься в різних областях форми.

    Головна форма

  • Подання вкладеної сітки. Ця панель команд відображається у формах інших таблиць, що відображають дані цієї таблиці у вкладеній сітці. Наприклад, в основній формі бізнес-партнера є вкладена сітка, в який міститься список записів контактних осіб, пов'язаних із записом бізнес-партнера. Щоб відредагувати панель команд нижче, відредагуйте панель команд для таблиці контактних осіб, а потім подання вкладеної сітки.

    Подання вкладеної сітки

  • Зв’язане подання. Ця панель команд відображається у формі батьківської таблиці під час перегляду пов’язаних даних у цій таблиці. Наприклад, в основній формі запису бізнес-партнера виберіть вкладку «Пов'язані», та виберіть пов'язану таблицю, наприклад "Контактні особи".

    Пов’язане подання

  • Швидкі дії. Швидкі дії, пов’язані з розташуванням основної сітки. Щоб додати або змінити команди для швидких дій і розташування основної сітки, виберіть потрібну таблицю в сучасному конструкторі програм, потім відредагуйте панель команд і виберіть розташування основної сітки. Перші п’ять команд, визначених за замовленням, також відображатимуться як швидкі дії під час відтворення програми.

    Приклад швидкої дії, настроєної в таблиці контактних осіб

Примітка

У конструкторі команд не підтримуються розташування панелі команд, оскільки їх настроюють нечасто. Щоб отримати додаткові відомості щодо налаштування команд для цих розташувань, див. розділи Глобальна панель команд та інші стрічки.

Типи команд

  • Команда. Стандартна кнопка. Виконує дію, якщо вибрати. Також може бути вкладено в групи в розкривному меню й кнопках розділення. Примітка. Це меню називалося спливаючим у класичному командуванні.
  • Розкривне меню. Створює меню, в якому можна впорядковувати команди в групі.
  • Група. Додати заголовки для груп команд, вкладених у розкривне меню й кнопки розділення.
  • Кнопка розділення. Подібно до розкривного меню, але має основну команду. Якщо вибрано кнопку розділення, виконується дія з основної команди. Якщо вибрано розгорнутий шеврон, основну команду не буде виконано. Замість цього список буде розгорнуто й показано додаткові групи, спливаючі меню й команди.

Тип команд

Ключові відмінності між класичними й сучасними командами

Класичні команди (раніше відомі під назвою "стрічка") неможливо настроїти з мінімумом коду. Через код, настроювання команд було складним, нудним, та часто з помилками. Щоб масштабувати командування до мінімуму коду, а також використати користувацькі сторінки для об'єднання компонованих та модельних програм, було необхідно заново спроектувати да створити командну інфраструктуру.

Сучасні команди пропонують багато нових можливостей і значно простіші у використанні.

Спроможність Класичні Сучасний
Підтримується під час виконання модельної програми Так Так, додатково підтримує виконання Power Fx.
Настроюване використання Ручне редагування XML у файлах рішень або використання інструментів сторонніх виробників. Необхідні часозатратні операції експорту та імпорту рішення. Конструктор команд і підтримка API Dataverse.
Підтримка Power Fx. No Так. Для дій і видимості.
Час, необхідний для настроювання Повільно, схильність до помилок. Швидко
Надійність і продуктивність Легко зробити помилки. Неправильне настроювання й відсутність областей часто впливають на продуктивність програм Вбудована функція обробки помилок запобігає виникненню помилок. Power Fx оптимізовано для покращення продуктивності середовища виконання.
Спільний доступ Стандартна система безпеки Dataverse на основі ролей. Команди, інші ніж команди Power Fx, використовують стандартну систему безпеки Dataverse на основі ролей. Наразі для команд Power Fx потрібна бібліотека компонентів команд із спільним доступом на додаток до наявної належної ролі безпеки.
Поведінка рішень і ALM Неузгоджене та проблематичне розшарування рішень, відсутність в інтерфейсі рішень. Стандартна поведінка багатьох рішень не підтримується, як-от виправлення, сегментація, оновлення рішень, керовані властивості тощо. Стандартне розшарування рішень із централізованим керуванням для типів об’єктів із кількома рішеннями в Dataverse. Присутні в інтерфейсі рішення. Підтримуються всі стандартні типи рішень.
Локалізація Нестандартний Стандартизоване використання експорту й імпорту перекладів для всього рішення.
Модель даних Складні. Оптимізовано для класичних стрічок і містить багато властивостей, які більш не потрібні. Просте й оптимізоване для сучасної панелі команд модельної програми.
Використання JavaScript Так Так. Тепер простіше. Примітка. Той самий JavaScript можна використовувати для класичних і сучасних команд.
Налаштування готових команд Так Команди можна редагувати в конструкторі команд після перенесення в сучасну структуру.
Команди, пов’язані з програмами No Так. За допомогою сучасного конструктора команд команди відображаються лише у вибраній програмі.
Команди, пов’язані з таблицями, які відображаються в усіх програмах, що містять таблицю Так Так. Необхідно змінити визначення appaction у файлі рішення.
Глобальні команди, які відображатимуться для всіх таблиць і програм для вказаного розташування панелі команд Так Так. Необхідно змінити визначення appaction у файлі рішення.
Створення кнопок розділення, спливаючих меню й груп Так Так
Динамічне заповнення спливаючого меню за допомогою коду Так Ні. Рекомендуємо створювати команди декларативно.
Настроювання команд заголовка глобальної програми Так No
Настроювання команд для інших незвичних або застарілих розташувань панелі команд Так No
Виконання сучасного циклу або робочого циклу Використання 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 Форма. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Властивості метаданих таблиці EntityPropertyRule DataSourceInfo()
Показати або приховати на основі стану форми. Наприклад, показати для форми створення FormStateRule Створення. Наявні. ReadOnly. Вимкнуто. BulkEdit Self.Selected.State = FormMode.New
Відображати, коли вибрано у сітці записів: > 1 SelectionCountRule CountRows(Self.Selected.Items) > 1
Показати або приховати пов’язану таблицю в поліморфній підстановці. Наприклад, перевірте, чи є підстановка користувачем або робочою групою CustomRule PrimaryEntityTypeCode IsType(), AsType
Посилання на властивості середовища (Org) CustomRule OrgName. OrgLcid. UserLcid Наразі недоступно

Запитання й відповіді

  • Чому в конструкторі видно більше команд, ніж у моїй програмі?
    • Існує кілька причин. Іноді є логіка видимості, яка приховує команду під час роботи програми. Іноді ці команди динамічно вводяться за допомогою настроюваних JavaScript під час виконання і їх не можна налаштувати.
  • Чому в конструкторі повторюються деякі команди?
    • Це був стандартний шаблон, який використовувався для класичних команд. Обидві команди не відображалися в середовищі виконання, оскільки вони керувалися правилами видимості. Конструктор команд відобразить всі команди, незалежно від правил видимості.

Див. також

Настроювання панелі команд за допомогою конструктора команд
Керування командами в рішеннях
Відомі обмеження сучасного командування