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


Використання Power Fx із командами

У цій статті описано аспекти Power Fx, що стосуються командування. Також можна використовувати багато інших функцій, які зараз використовуються в компонованих програмах. Пам'ятайте що є відмінності, оскільки командування призначене для модельних програм.

  • Підтримуються всі наявні функції потоку даних. Що таке потік даних?
  • Підтримуються імперативні функції, які працюють з даними.
  • Підтримуються імперативні функції для простого Confirm та Notify.
  • Щоб отримати список функцій, які не підтримуються, див. Функції, які не підтримуються.

Примітка

Публікація команд Power Fx може зайняти кілька хвилин. Фонові операції можуть все ще виконуватися навіть після завершення операції публікації. Можливо, знадобиться зачекати кілька хвилин після публікації, а потім оновити програму, щоб побачити зміни. Зазвичай для цього потрібно трохи більше часу, якщо команда на основі Power Fx публікується вперше для програми.

OnSelect

Визначає логіку, яка виконується, коли кнопка вибирається в програмі.

Видимий

Визначає логіку для приховування або відображення кнопки під час виконання програми.

Щоб визначити логіку видимості, виберіть команду. Потім виберіть Видимість на панелі властивостей команд праворуч і виберіть Відображати за умовою з формули. Можна вибрати «Видимий » ліворуч від рядка формул, а потім записати Power Fx вираз за допомогою рядка формул.

Вибрана властивість

Поле Ввести Опис
Елемент Запис DataSource (джерело даних) Один із записів, вибраних із DataSource.
AllItems (Усі елементи) Таблиця записів із DataSource Усі записи, вибрані з DataSource.
Область/регіон Перелік Стан вибраного елемента керування. Редагувати (=0), створити (=1), подання (=2)
Не збережено Boolean Повертає значення «true», якщо для Selected чи SelectedItems існують незбережені зміни. В іншому разі повертає значення «false». Завжди повертає значення «false», якщо для параметра «Автозбереження» встановлено значення «true» (за замовчуванням) у бібліотеці компонентів команд.
  • Властивість "Вибрано" надається хостом команди.
  • Імена "Елемент" та "AllItems" (всі елементи) певною мірою узгоджуються з елементами керування «ComboBox» (Поле зі списком) та «Колекція». Але це новий шаблон.
  • Якщо запис не вибрано, Item повертає Blank (IsBlank повертає true), а AllItems повертає порожню таблицю (IsEmpty повертає true).
  • Null DataSource для посилань на записи (поліморфні типи записів). Можна викликати загальні функції, наприклад "Зберегти" або "IsType/AsType".
  • Елемент завжди порожній, якщо SelectionMax <> 1. Таким чином можна уникнути складання формул лише для одного елемента та відсутності масштабування на кілька елементів.

Автозбереження

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

Функція Patch

Виправлення (оновлення) поточного вибраного запису

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

Примітка

Якщо пов'язана таблиця ще не в бібліотеці компонентів команд, необхідно відкрити її в студії полотна й додати там джерело даних.

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

Перевірка та редагування властивості дати

If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))

Видима властивість: відображати команду, лише якщо в поданні сітки вибрано один або кілька записів

CountRows(Self.Selected.AllItems) > 0

Видимість елемента керування на основі даних запису

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

Примітка

Для отримання додаткових параметрів див. посилання на клієнтські API, щоб скористатися JavaScript. Додаткові відомості: navigateTo (Посилання на клієнтські API)

Щоб перейти на настроювану сторінку полотна в модельній програмі, передайте ім’я сторінки як перший аргумент.

Navigate( myCustomPage )

Щоб перейти до подання таблиці за замовчуванням, передайте ім’я таблиці як перший аргумент.

Navigate( Accounts )

Щоб перейти до конкретного системного подання таблиці, передайте перелік Views таблиці.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Щоб перейти до форми таблиці за замовчуванням, передайте запис як перший аргумент.

Navigate( Gallery1.Selected )

Щоб перейти до форми таблиці за замовчуванням, передайте запис Dataverse, створений за допомогою функції «За замовчуванням». Відкриється форма за замовчуванням із записом в якості нового запису. Щоб створити запис, функція «За замовчуванням» бере ім'я таблиці.

Navigate( Defaults( Accounts ) )

Оптимізуйте взаємодію з користувачем за допомогою джерело даних та записуйте інформацію

Використовуйте функції DataSourceInfo та RecordInfo , щоб оптимізувати взаємодію користувача з інформацією про дані, що відображаються та обробляються.

Наприклад, за допомогою RecordInfo можна визначити, чи має поточний користувач дозвіл на зміну запису, і належним чином відобразити або приховати кнопку «Редагувати» за допомогою властивості «Видимі »:

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

Наприклад, за допомогою служби DataSourceInfo можна визначити, чи має поточний користувач дозвіл на створення запису, а також належним чином відобразити або приховати кнопку «Створити» за допомогою властивості «Видимі »:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

Запитуйте підтвердження, перш ніж вживати заходів

Використовуйте функцію Підтвердити , щоб відобразити діалогове вікно у верхній частині поточного екрана.

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

Відображає сповіщення true, якщо натиснуто кнопку Yes, і сповіщення false, якщо натиснуто кнопку No . ·

Сповістити користувача

Сповіщення можна показувати користувачам програми, викликавши функцію Notify (сповістити).

Примітка

NotificationType.Success наразі не підтримується, отже з’явиться інформаційний тип сповіщення.

Notify( "Model-driven app notification message" )

Нижче наведено інші приклади

Запуск URL-адреси

Launch("https://www.bing.com");

Доступ до властивості 1:N

Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"

Функції не підтримуються

Наведені нижче функції Power Fx наразі не підтримуються командуванням в модельних програмах.

  • Back()
  • Clear()
  • Collect()
  • copy()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Перелік не підтримується

  • Вирівняти
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Колір
  • Напрямок
  • DisplayMode
  • Шрифт
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Макет
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Переповнення
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Теми
  • Перехід
  • VerticalAlign
  • VirtualKeyboardMode
  • Масштаб

Інші непідтримувані області

  • Прискорення
  • App
  • Compass
  • Connection
  • Dataverse Стовпці типу файлу
  • Середовище
  • Хост
  • Макет
  • Розташування
  • ScreenSize

Див. також

Ознайомлення з поведінковими формулами

Посилання на формулу

Огляд Power Fx