Делите путем


Коришћење језика Power Fx са командама

Овај чланак покрива аспекте језика Power Fx који су специфични за давање команди. Могу се користити и многе друге функције које се данас користе у апликацијама са подлогом. Имајте на уму да постоје разлике јер је командовање за апликације засноване на моделу.

  • Све постојеће функције тока података су подржане. Шта су то токови података?
  • Подржане су императивне функције које раде са подацима.
  • Подржане су императивне функције за једноставно Confirm и Notify.
  • За листу функција које нису подржане, идите на одељак Функције које нису подржане.

Напомена

Објављивање Power Fx команди може да потраје неколико минута. Можда неће бити очигледно да су позадинске операције и даље покренуте чак и када се чини да је операција објављивања довршена. Можда ћете морати да сачекате неколико минута након објављивања, а затим да освежите апликацију да би се промене одразиле. То обично траје дуже први пут када се за апликацију објави команда заснована на језику Power Fx.

OnSelect

Дефинише логику која се извршава када је дугме изабрано у апликацији.

Видљиво

Дефинише логику скривања или приказивања дугмета приликом покретања апликације.

Да бисте дефинисали логику видљивости, изаберите команду. Затим изаберите ставку Visibility у десном окну са својствима команде и из формуле одаберите ставку Прикажи према услову из формуле. Можете да изаберете Видљиво на левој страни траке формуле, а затим напишите Power Fx израз користећи траку формуле.

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

Поље Тип Опис
Ставка Запис за DataSource Један од записа изабраних из услуге DataSource.
AllItems Табела записа из DataSource-а Сви записи изабрани из услуге DataSource.
Стање Пребројавање Статус изабране контроле. Edit (=0), New (=1), View (=2)
Несачувано Логичка вредност Враћа вредност „Тачно“ ако Selected или SelectedItems имају несачуване промене. У супротном, враћа „нетачно“. Увек враћа вредност „нетачно“ ако је AutoSave постављено на „тачно“ (подразумевана опција) унутар библиотеке командних компоненти.
  • Изабрано својство обезбеђује хост команде.
  • Називи Ставка и AllItems су донекле доследни са контролом ComboBox и контролом галерије, али ово је нови образац.
  • Ако није изабран запис, Ставка враћа Бланк (ИсБланк враћа труе) и АллИтемс враћа празну табелу (ИсЕмптy враћа труе).
  • DataSource нема вредност за референце записа (полиморфни типови записа). Опште функције се могу позвати, на пример можете користити Сачувај или IsType/AsType.
  • Ставка је увек празна ако СелецтионМак <> 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 ) )

Оптимизација корисничко искуство са < ДИЦТ__извор података > дата соурце </ДИЦТ__извор података > и снимање информација

Користите функцију ДатаСоурцеИнфо и функцију РецордИнфо да бисте оптимизирали корисничко искуство са информацијама о подацима који се приказују и манипулишу.

На пример, користите РецордИнфо да утврдите да ли тренутни корисник има дозволу да измени запис и на одговарајући начин прикаже или сакрије "Едит" дугме користећи његову Видљиво особину:

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

На пример, користите ДатаСоурцеИнфо да бисте утврдили да ли тренутни корисник има дозволу за креирање записа и на одговарајући начин прикажите или сакријте дугме "Креирај" користећи своју особину Висибле :

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
  • Режим писања оловком
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Теме
  • Прелаз
  • VerticalAlign
  • VirtualKeyboardMode
  • Зумирај

Остале области које нису подржане

  • Убрзање
  • App
  • Compass
  • Connection
  • Dataverse Колоне типа датотеке
  • Окружење
  • Хост
  • Распоред
  • Локација
  • ScreenSize

Погледајте и

Објашњење формула понашања

Референца на формулу

Преглед услуге Power Fx