Споделяне чрез


Използване на Power Fx с команди

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

Бележка

Публикуването на команди на Power Fx може да отнеме няколко минути. Може да не е очевидно, че операциите във фонов режим все още се изпълняват дори след като изглежда, че операцията за публикуване е приключила. Може да се наложи да изчакате няколко минути след публикуването, след което да опресните приложението, за да видите промените си отразени. Това обикновено отнема повече време първия път Power Fx-базирана команда е публикувана за приложение.

OnSelect

Дефинира логиката, която се изпълнява, когато бутонът е избран в приложението.

Видим

Дефинира логика за скриване или показване на бутона при стартиране на приложението.

За да дефинирате логика на видимостта, изберете командата. След това изберете Видимост в десния панел със свойства на командата и изберете Показване при условие от формулата. Можете да изберете Видимо отляво на лентата за формули, след което да напишете Power Fx израз с помощта на лентата за формули.

Избрано свойство

Поле Тип Описание
Елемент Запис на източника на данни Един от записите, избран от източника на данни.
AllItems Таблица на записите от източника на данни Всички от записите, избрани от източника на данни.
Щат Изброена стойност Състояние на избрания контрол. Редактиране (=0), Ново (=1), Преглед (=2)
Незаписано Boolean Връща true, ако Selected или SelectedItems имат незапазени промени. В противен случай връща false. Винаги връща false, ако AutoSave е зададено на true (опция по подразбиране) в библиотеката на командния компонент.
  • Свойството Избрано се предоставя от хоста на командата.
  • Елемент и AllItems имената са донякъде съвместими с контролата ComboBox и контролата Gallery, но това е нов модел.
  • Ако няма избран запис,Item · връща Blank (IsBlank връща true) и AllItems връща празна таблица (IsEmpty връща true).
  • Нулев DataSource за референтни записи (полиморфни типове записи). Могат да се извикват общи функции, като например Записване или IsType/AsType.
  • Елементът винаги е празен, ако SelectionMax <> 1. Това предотвратява записването на формули само до един елемент и не мащабиране до повече от един.

Автоматично записване

  • Много JavaScript команди започват със запазване на буфера за формуляри. Това е така, защото улеснява работата с останалата част от кода.
  • По подразбиране буферът за формуляри се запазва от името на производителя на приложения.
    • Формулярът се записва преди започване на командата.
    • Всички проблеми, възникнали по време на операцията по запазване, се решават в потребителския интерфейс на формуляра.

Функция Patch

Коригиране (актуализиране) на текущо избрания запис

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

Бележка

Ако свързаната таблица все още не е в библиотеката на командния компонент, ще трябва да я отворите в canvas studio и да добавите източник на данни там.

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 запис, създаден от функцията Defaults. Това отваря формуляра по подразбиране с записа като нов запис. Функцията Defaults взема името на таблицата, за да създаде записа.

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" } 
        ) 
)

Показва вярно известие, ако бутонът Да е натиснат, и известие невярно, ако е натиснат бутонът Не .

Уведомяване на потребителя

Известие може да се покаже на потребителите на приложението, като извикате Функция за уведомяване.

Бележка

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()
  • Копиране ()
  • 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