Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
ConfirmiNotifysą 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"})
Tworzenie powiązanego rekordu
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
Nawiguj
Uwaga / Notatka
Aby uzyskać dodatkowe opcje, zobacz dokumentację klienta API dotyczącą użycia JavaScript. Więcej informacji: navigateTo (dokumentacja interfejsu API klienta)
Przechodzenie do strony niestandardowej
Aby przejść do niestandardowej strony kanwy w aplikacji opartej na modelu, przekaż nazwę strony jako pierwszy argument.
Navigate( myCustomPage )
Przechodzenie do domyślnego widoku tabeli
Aby przejść do domyślnego widoku tabeli, przekaż nazwę tabeli jako pierwszy argument.
Navigate( Accounts )
Przejdź do widoku systemowego tabeli
Aby przejść do określonego widoku systemowego tabeli, przekaż wyliczenie tabeli Views.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Przechodzenie do domyślnego widoku formularza
Aby przejść do domyślnej formy tabeli, przekaż rekord jako pierwszy argument.
Navigate( Gallery1.Selected )
Przejdź do domyślnego formularza tabeli w trybie tworzenia
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'
Sprawdzanie właściwości powiązanego rekordu
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