Udostępnij przez


Używanie programu Power Fx z poleceniami

W tym artykule opisano aspekty programu Power Fx związane z zarządzaniem poleceniami. Można również korzystać z wielu innych funkcji, które są używane dzisiaj w aplikacjach Canvas. Pamiętaj, że istnieją różnice, ponieważ dowodzenie jest dla aplikacji opartych na modelu.

  • Obsługiwane są wszystkie istniejące funkcje przepływu danych. Co to są przepływy danych?
  • Obsługiwane są funkcje imperatywne, które działają z danymi.
  • Funkcje imperatywne dla prostych Confirm i Notify są obsługiwane.
  • Aby uzyskać listę funkcji, które nie są obsługiwane, przejdź do obszaru Funkcje nieobsługiwane.

Uwaga / Notatka

Publikowanie poleceń Power Fx może potrwać kilka minut. Może nie być oczywiste, że operacje w tle są nadal uruchomione nawet po zakończeniu operacji publikowania. Może być konieczne odczekenie kilku minut po opublikowaniu, a następnie odświeżenie aplikacji, aby zobaczyć, czy zmiany zostały odzwierciedlone. Ta operacja zwykle trwa dłużej za pierwszym razem, gdy polecenie oparte na Power Fx jest publikowane dla aplikacji.

OnSelect

Definiuje logikę wykonywaną po wybraniu przycisku w aplikacji.

Widoczny

Definiuje logikę ukrywania lub wyświetlania przycisku podczas uruchamiania aplikacji.

Aby zdefiniować logikę widoczności, wybierz polecenie . Następnie wybierz Widoczność w panelu właściwości polecenia po prawej stronie i wybierz Pokaż na podstawie warunku z formuły. Możesz wybrać pozycję Widoczne po lewej stronie paska formuły, a następnie napisać wyrażenie Power Fx przy użyciu paska formuły.

Wybrana właściwość

Pole Typ Description
Produkt Rejestr źródła danych Jeden z rekordów wybranych z źródła danych.
AllItems Tabela rekordów ze źródła danych Wszystkie rekordy wybrane z źródła danych.
State Wyliczenie Stan wybranej kontrolki. Edytuj (=0), Nowy (=1), Widok (=2)
Niezapisane logiczny Zwraca wartość true, jeśli element Selected lub SelectedItems ma niezapisane zmiany. W przeciwnym razie zwraca wartość false. Zawsze zwraca wartość false, jeśli automatyczne zapisywanie jest ustawione na wartość true (opcja domyślna) w bibliotece składników poleceń.
  • Właściwość Selected jest dostarczana przez hosta polecenia.
  • Nazwy item i AllItems są nieco spójne z kontrolką ComboBox i kontrolką Galeria, ale jest to nowy wzorzec.
  • Jeśli nie wybrano rekordu, funkcja Item zwraca wartość Blank (IsBlank zwraca wartość true), a funkcja AllItems zwraca pustą tabelę (IsEmpty zwraca wartość true).
  • Puste źródło danych dla odniesień do rekordów (polimorficzne typy rekordów). Można wywołać funkcje ogólne, takie jak Save lub IsType/AsType.
  • Element jest zawsze pusty, jeśli selectionMax<> 1. Zapobiega to pisaniu formuł tylko do jednego elementu i nie skalowaniu do więcej niż jednego.

Automatyczne zapisywanie

  • Wiele poleceń języka JavaScript rozpoczyna się od zapisania buforu formularza. Dzieje się tak, ponieważ ułatwia pracę z resztą kodu.
  • Domyślnie bufor formularza jest zapisywany w imieniu twórcy aplikacji.
    • Formularz jest zapisywany przed zainicjowaniem polecenia.
    • Wszelkie problemy występujące podczas operacji zapisywania są rozwiązywane w interfejsie użytkownika formularza.

Funkcja Patch

Poprawianie (aktualizowanie) bieżącego wybranego rekordu

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

Uwaga / Notatka

Jeśli powiązana tabela nie znajduje się jeszcze w bibliotece składników poleceń, musisz otworzyć ją w studio kanwy i dodać tam źródło danych.

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

Sprawdzanie i edytowanie właściwości daty

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

Właściwość Visible: Polecenie jest wyświetlane tylko wtedy, gdy jeden lub więcej rekordów jest zaznaczonych w widoku siatki

CountRows(Self.Selected.AllItems) > 0

Kontrolowanie widoczności na podstawie danych w rekordzie

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

Uwaga / Notatka

Aby uzyskać dodatkowe opcje, zobacz dokumentację klienta API dotyczącą użycia JavaScript. Więcej informacji: navigateTo (dokumentacja interfejsu API klienta)

Aby przejść do niestandardowej strony kanwy w aplikacji opartej na modelu, przekaż nazwę strony jako pierwszy argument.

Navigate( myCustomPage )

Aby przejść do domyślnego widoku tabeli, przekaż nazwę tabeli jako pierwszy argument.

Navigate( Accounts )

Aby przejść do określonego widoku systemowego tabeli, przekaż wyliczenie tabeli Views.

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

Aby przejść do domyślnej formy tabeli, przekaż rekord jako pierwszy argument.

Navigate( Gallery1.Selected )

Aby przejść do domyślnej formy tabeli, przekaż rekord Dataverse utworzony z funkcji Defaults . Spowoduje to otwarcie domyślnego formularza z rekordem jako nowym rekordem. Funkcja Defaults przyjmuje nazwę tabeli, aby utworzyć rekord.

Navigate( Defaults( Accounts ) )

Optymalizowanie środowiska użytkownika przy użyciu źródła danych i informacji o rekordach

Użyj funkcji DataSourceInfo i funkcjiRecordInfo, aby zoptymalizować środowisko użytkownika przy użyciu informacji o wyświetlanych danych i manipulowaniu nimi.

Na przykład użyj RecordInfo do określenia, czy bieżący użytkownik ma uprawnienia do modyfikacji rekordu i odpowiedniego pokazania lub ukrycia przycisku "Edytuj" przy użyciu właściwości Visible:

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

Na przykład użyj elementu DataSourceInfo , aby określić, czy bieżący użytkownik ma uprawnienia do tworzenia rekordu i odpowiednio pokazać lub ukryć przycisk "Utwórz" przy użyciu jego właściwości Visible :

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

Poproś o potwierdzenie przed podjęciem akcji

Użyj funkcji Confirm, aby wyświetlić okno dialogowe w górnej części bieżącego ekranu.

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

Wyświetla powiadomienie true , jeśli naciśnięto przycisk Tak, oraz powiadomienie false, jeśli naciśnięto przycisk Nie.

Powiadamianie użytkownika

Powiadomienie można wyświetlić użytkownikom aplikacji, wywołując funkcję Notify.

Uwaga / Notatka

NotificationType.Success nie jest obecnie obsługiwana i powoduje wyświetlenie typu powiadomienia informacyjnego.

Notify( "Model-driven app notification message" )

Inne przykłady

Uruchamianie adresu URL

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

Dostęp do właściwości 1:N

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

Funkcje dostępne za pomocą poleceń

Aby uzyskać informacje o formułach obsługiwanych za pomocą poleceń w aplikacjach opartych na modelu, przejdź do tematu Dokumentacja formuł — aplikacje oparte na modelu.

Funkcje nie są obsługiwane

Następujące funkcje Power Fx nie są obecnie obsługiwane za pomocą poleceń w aplikacjach opartych na modelu.

  • Back()
  • Wyczyść
  • Collect()
  • Kopiuj()
  • Wyłącz
  • Włącz()
  • Wyjdź()
  • InvokeControl()
  • Funkcja Language()
  • LoadData()
  • Param()
  • Print()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • Użytkownik()
  • ViewForm()

Wyliczenia nie są obsługiwane

  • Align
  • AlignInContainer
  • BarcodeType
  • Styl ramki
  • Kolor
  • Direction
  • Tryb wyświetlania
  • Krój pisma
  • Grubość czcionki
  • FormPattern
  • Styl siatki
  • PozycjaObrazu
  • ImageRotation
  • LabelPosition
  • Układ
  • LayoutAlignItems
  • Kierunek układu
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • Styl mapy
  • Przepełnienie
  • PDFPasswordState
  • PenMode
  • UsuńFlagi
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • Tryb tekstowy
  • Położenie tekstu
  • Themes
  • Transition
  • Wyrównanie w pionie
  • VirtualKeyboardMode
  • Powiększenie

Inne nieobsługiwane obszary

  • Przyspieszenie
  • Aplikacja
  • Kompas
  • Connection
  • Kolumny typu pliku Dataverse
  • Środowisko
  • Host
  • Układ
  • Lokalizacja
  • Rozmiar ekranu

Zobacz także

Omówienie formuł behawioralnych

Odwołanie do formuły

Omówienie programu Power Fx