Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Attiecas uz: Audekla programmām
Iegūstiet informāciju par pašreiz darbojošos programmu un kontrolējiet tās darbību.
Description
Tāpat kā vadīklai, programmas objektam ir rekvizīti, kas identificē, kurš ekrāns tiek rādīts, un liek saglabāt izmaiņas, lai tās netiktu zaudētas. Katrai programmai ir objekts Programma.
Rakstiet formulas dažiem programmas objekta rekvizītiem. Koka skata rūts augšdaļā atlasiet objektu Programmas tāpat, kā to darītu ar jebkuru citu vadīklu vai ekrānu. Lai skatītu vai rediģētu kādu no objekta rekvizītiem, atlasiet to nolaižamajā sarakstā pa kreisi no formulu joslas.
ActiveScreen property
Rekvizīts ActiveScreen identificē pašreiz parādīto ekrānu.
Šis rekvizīts atgriež ekrāna objektu. Izmantojiet to, lai atsauktos uz pašreizējā ekrāna rekvizītiem, piemēram, nosaukumu ar formulu App.ActiveScreen.Name. Varat arī salīdzināt šo rekvizītu ar citu ekrāna objektu, piemēram, ar salīdzināšanas formulu App.ActiveScreen = Screen2 , lai pārbaudītu, vai Screen2 ir pašreizējais ekrāns.
Izmantojiet funkciju Atpakaļ vai Navigēt, lai pārslēgtu parādīto ekrānu.
BackEnabled property
Rekvizīts BackEnabled maina to, kā programma reaģē uz ierīces atpakaļ žestu (pavelciet vai izmantojiet aparatūras atpakaļ pogu Android ierīcēs vai pavelciet no kreisās puses iOS ierīcēs), kad tā darbojas Power Apps mobilajās ierīcēs. Ja tas ir iespējots, ierīces atpakaļžests atgriežas ekrānā, kas tika parādīts pēdējā, kas ir līdzīgs formulai Atpakaļ . Ja ierīce ir atspējota, ierīces atpakaļžests novirza lietotāju uz programmu sarakstu.
ConfirmExit properties
Neviens nevēlas zaudēt nesaglabātās izmaiņas. Izmantojiet rekvizītus ConfirmExit un ConfirmExitMessage , lai brīdinātu lietotāju pirms programmas aizvēršanas.
Note
- ConfirmExit nedarbojas programmās, kas iegultas, piemēram, Power BI un SharePoint.
- ConfirmExit netiek atbalstīts pielāgotās lapās.
- Tagad šie rekvizīti var atsaukties uz vadīklām tikai pirmajā ekrānā, ja ir iespējots aizkavētās ielādes priekšskatījuma līdzeklis (kas pēc noklusējuma ir paredzēts jaunām programmām). Ja atsaucaties uz citiem ekrāniem, Power Apps Studio neparāda kļūdu, bet publicētā programma netiek atvērta Power Apps Mobile vai pārlūkprogrammā. Mēs strādājam, lai atceltu šo ierobežojumu. Tikmēr izslēdziet Aizkavēta ielāde sadaļā Iestatījumi>Gaidāmie līdzekļi (sadaļā Priekšskatījums).
ConfirmExit
ConfirmExit ir Būla rekvizīts, kas, ja tas ir patiess, atver apstiprinājuma dialoglodziņu pirms programmas aizvēršanas. Pēc noklusējuma šis rekvizīts ir false, un neviens dialoglodziņš netiek parādīts.
Ja lietotājam programmā var būt nesaglabātas izmaiņas, izmantojiet šo rekvizītu, lai pirms iziešanas no programmas parādītu apstiprinājuma dialoglodziņu. Izmantojiet formulu, kas pārbauda mainīgos un vadīklas rekvizītus (piemēram, veidlapas rediģēšanas vadīklas rekvizītu Nesaglabāts).
Apstiprinājuma dialoglodziņš tiek parādīts jebkurā situācijā, kad dati var tikt zaudēti, piemēram:
- Palaidiet funkciju Exit.
- Ja programma darbojas pārlūkprogrammā, veiciet tālāk norādītās darbības.
- Aizveriet pārlūkprogrammu vai pārlūkprogrammas cilni, kurā darbojas programma.
- Atlasiet pārlūkprogrammas pogu Atpakaļ.
- Palaidiet funkciju Launch ar LaunchTarget of Self.
- Ja programma darbojas Power Apps Mobile (iOS vai Android):
- Pavelciet, lai pārslēgtos uz citu programmu Power Apps Mobile.
- Android ierīcē atlasiet pogu Atpakaļ.
- Palaidiet funkciju Launch , lai palaistu citu audekla programmu.
Precīzs apstiprinājuma dialoglodziņa izskats var atšķirties dažādās ierīcēs un Power Apps versijās.
Apstiprinājuma dialoglodziņš netiek rādīts Power Apps Studio.
ConfirmExitMessage
Pēc noklusējuma apstiprinājuma dialoglodziņā tiek parādīts vispārējs ziņojums, piemēram, “Jums var būt nesaglabātas izmaiņas.” lietotāja valodā.
Izmantojiet ConfirmExitMessage, lai apstiprinājuma dialoglodziņā nodrošinātu pielāgotu ziņojumu. Ja šis rekvizīts ir tukšs, tiek izmantota noklusējuma vērtība. Pielāgotie ziņojumi tiek saīsināti pēc vajadzības, lai ietilptu apstiprinājuma dialoglodziņā, tāpēc saglabājiet ziņojumu ne vairāk kā dažās rindiņās.
Pārlūkprogrammā apstiprinājuma dialoglodziņā var tikt parādīts vispārīgs ziņojums no pārlūkprogrammas.
Note
Programmas objektam ir vēl divi rekvizīti OnMessage un , kas ir BackEnabledeksperimentāli. Šie rekvizīti galu galā tiek noņemti no programmas objekta. Neizmantojiet šos rekvizītus savā ražošanas vidē.
Example
Iestatiet objekta Programma rekvizītu ConfirmExit šai izteiksmei:
AccountForm.Unsaved Or ContactForm.UnsavedDialoglodziņā tiek parādīts, vai lietotājs maina datus kādā no veidlapām un pēc tam mēģina aizvērt programmu, nesaglabājot šīs izmaiņas.e lietotājs maina datus jebkurā formā un pēc tam mēģina aizvērt programmu, nesaglabājot šīs izmaiņas.
[!div clas1. Iestatiet objekta Programma rekvizītu ConfirmExitMessage šai formulai:
If( AccountsForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Dialoglodziņā tiek parādīts, vai lietotājs maina datus veidlapā Konts un pēc tam mēģina aizvērt programmu, nesaglabājot šīs izmaiņas.
Savienojuma virknes iestatīšana lietojumprogrammu ieskatiem
Lai eksportētu sistēmas ģenerētos lietojumprogrammu žurnālus uz Application Insights, iestatiet savienojuma virkni savai audekla programmai.
- Atveriet lietotni rediģēšanai Power Apps Studio.
- Kreisajā navigācijas koka skatā atlasiet programmas objektu.
- Rekvizītu rūtī ievadiet savienojuma virkni .
Ja dati netiek nosūtīti uz Application Insights, sazinieties ar Power Platform administratoru un pārbaudiet, vai App Insights ir atspējots nomnieka līmenī.
Formulas property
Izmantojiet nosauktas formulas rekvizītā Formulas , lai definētu formulas, ko var atkārtoti lietot visā programmā.
In Power Apps formulas nosaka kontroles īpašību vērtību. Piemēram, lai konsekventi iestatītu fona krāsu programmā, varat iestatīt rekvizītu Aizpildīt katrai no kopējām formulām:
Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )
Ja šī formula var parādīties tik daudzās vietās, tā nogurst un var rasties kļūdaina nepieciešamība atjaunināt, ja šīs izmaiņas vispār ir nepieciešamas. Tā vietā jūs varat izveidot globālo mainīgo programmā OnStart , lai iestatītu krāsu vienreiz, un pēc tam šo vērtību atkārtoti lietot visā programmā:
App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Lai gan šī metode ir labāka, tā arī ir atkarīga no OnStart palaišanas, pirms tiek izveidota BGColor vērtība. Ar BGColor var manipulēt arī kādā lietotnes stūrī, par kuru veidotājs nezina, izmaiņas, ko veicis kāds cits, un to var būt grūti izsekot.
Nosauktas formulas sniedz alternatīvu. Tāpat kā mēs parasti rakstām control-property = izteiksme,, tā vietā varam rakstīt name = izteiksme, un pēc tam atkārtoti lietot nosaukumu visā mūsu programmā, lai aizstātu izteiksmi. Šo formulu definīcijas tiek veiktas rekvizītā Formulas :
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Nosauktu formulu izmantošanas iespēju klāstā ietilpst:
- Formulas vērtība vienmēr ir pieejama. Nav atkarīga laika grafiks, ne OnStart, kas vispirms darbojas pirms vērtības iestatīšanas, ne laika, kad formulas vērtība ir nepareiza. Nosauktās formulas var jebkurā secībā norādīt cits citu, ja vien tās neveido riņķveida atsauci. Tos var aprēķināt paralēli.
- Formulas vērtība vienmēr ir atjaunināta. Formula var veikt aprēķinus, kas ir atkarīgi no vadīklas rekvizītiem vai datu bāzes ierakstiem, un, to mainot, formulas vērtība tiek automātiski atjaunināta. Vērtība nav jāatjaunina manuāli tāpat kā mainīgais. Un formulas tiek pārrēķinātas tikai tad, ja nepieciešams.
- Formulas definīcija ir nemainīga. Formulu definīcija ir vienīgais patiesais avots, un vērtību programmā vēl nevar mainīt. Izmantojot mainīgos, iespējams, ka kāds kods negaidīti maina vērtību, taču šī grūti atkļūdojamā situācija nav iespējama ar nosauktām formulām.
- Formulas aprēķinu var atlikt. Tā kā tā vērtība ir nemainīga, to vienmēr var aprēķināt, kad nepieciešams, kas nozīmē, ka tas nav jāaprēķina, kamēr tas nav nepieciešams. Formulas vērtības, kas netiek izmantotas, kamēr lietojumprogrammā neparādās screen2, nav jāaprēķina, kamēr screen2 nav redzams. Šī darba atlikšana var uzlabot lietotnes ielādes laiku. Nosauktās formulas ir deklaratīvas, un tās sniedz sistēmai iespējas optimizēt aprēķinu veidu un laiku.
- Nosauktās formulas ir Excel jēdziens. Power Fx izmanto Excel jēdzienus, kur vien iespējams, jo daudzi cilvēki labi pārzina programmu Excel. Nosauktas formulas ir ekvivalentas nosaukumam ar nosaukumiem un nosauktām formulām programmā Excel, pārvaldītas ar nosaukumu pārvaldnieku. Tie tiek pārrēķināti automātiski, tāpat kā to dara izklājlapas šūnas un vadības rekvizīti.
Ir definētas formulas ar nosaukumiem rekvizītā Formulas , katrs beidzas ar semikolu. Formulas tips tiek izsecināts no elementu tipiem formulā un no tā, kā tie tiek lietoti kopā. Piemēram, šīs nosauktās formulas izgūst noderīgu informāciju par pašreizējo lietotāju no Dataverse:
UserEmail = User().Email;
UserInfo = LookUp( Users, 'Primary Email' = User().Email );
UserTitle = UserInfo.Title;
UserPhone = Switch( UserInfo.'Preferred Phone',
'Preferred Phone (Users)'.'Mobile Phone', UserInfo.'Mobile Phone',
UserInfo.'Main Phone' );
Ja UserTitle formula ir jāatjaunina, to var viegli izdarīt šajā vienā atrašanās vietā. Ja UserPhone programmā nav nepieciešams, tad netiek veikti šie zvani uz Lietotāju tabulu programmā Dataverse. Neizmantotas formulas definīcijas iekļaušana nav sodāma.
Daži no nosaukto formulu ierobežojumiem:
- Viņi nevar izmantot uzvedības funkcijas vai kā citādi izraisīt blakusefektus programmā.
- Tie nevar izveidot riņķveida atsauci. Vienā programmā nedrīkst būt a = b; un b = a;.
Lietotāja definētas funkcijas
Power Fx ietver garu iebūvēto funkciju sarakstu, piemēram , If,Text un Set. Lietotāja definētās funkcijas ļauj jums rakstīt savas funkcijas, kas ņem parametrus un atgriež vērtību, tāpat kā iebūvētās funkcijas. Lietotāja definētās funkcijas var uzskatīt par nosauktu formulu paplašinājumu, kas pievieno parametrus un atbalsta uzvedības formulas.
Piemēram, varat definēt nosauktu formulu, kas atgriež daiļliteratūras grāmatas no bibliotēkas:
Library = [ { Title: "The Hobbit", Author: "J. R. R. Tolkien", Genre: "Fiction" },
{ Title: "Oxford English Dictionary", Author: "Oxford University", Genre: "Reference" } ];
LibraryFiction = Filter( Library, Genre = "Fiction" );
Bez parametriem mums būtu jādefinē atsevišķas nosauktas formulas katram žanram. Bet tā vietā parametrizēsim mūsu nosaukto formulu:
LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );
LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );
Tagad mēs varam zvanīt LibraryGenre( "Fiction" )LibraryGenre( "Reference" ) vai filtrēt citus žanrus ar viena lietotāja definētu funkciju.
Sintakse ir šāda:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = formula;
- FunctionName – Obligāts. Lietotāja definētās funkcijas nosaukums.
- Parametru nosaukumi - pēc izvēles. Funkcijas parametra nosaukums.
- Parametru tipi - pēc izvēles. Tipa nosaukums, iebūvēta datu tipa nosaukums, datu avota nosaukums vai tips, kas definēts ar funkciju Tips .
- ReturnType - Obligāts. Funkcijas atgrieztās vērtības tips.
- Formula - Obligāts. Formula, kas aprēķina funkcijas vērtību, pamatojoties uz parametriem.
Katrs parametrs un lietotāja definēšanas funkcijas izvade ir jāievada. Šajā piemērā SelectedGenre: Text mūsu funkcijas pirmais parametrs ir teksta tips un SelectedGenre tas ir tā parametra nosaukums, kas tiek izmantots pamattekstā filtra operācijai. Atbalstīto tipu nosaukumus skatiet rakstā Datu tipi . Funkcija Type tiek izmantota, lai izveidotu apkopojuma veidu mūsu bibliotēkai, lai mēs varētu atgriezt grāmatu tabulu no mūsu funkcijas.
Mēs definējām LibraryType kā daudzskaitļa tabulu ar ierakstu tipu. Ja mēs vēlamies nodot vienu grāmatu funkcijai, mēs varam izvilkt šīs tabulas ieraksta tipu ar funkciju RecordOf:
BookType := Type( RecordOf( LibraryType ) );
IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);
Funkciju parametru ierakstu saskaņošana ir stingrāka nekā citās daļās Power Fx. Ieraksta vērtības laukiem ir jābūt pareizai tipa definīcijas apakškopai, un tajos nedrīkst iekļaut papildu laukus. Piemēram, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) radīsies kļūda.
Ņemiet vērā, ka rekursiju vēl neatbalsta lietotāja definētās funkcijas.
Lietotāja definētas uzvedības funkcijas
Nosauktās formulas un lielākā daļa lietotāja definēto funkciju neatbalsta uzvedības funkcijas ar blakusparādībām, piemēram , Iestatīt vai Paziņot. Kopumā vislabāk ir izvairīties no stāvokļa atjaunināšanas, ja iespējams, tā vietā paļaujoties uz funkcionāliem programmēšanas modeļiem un ļaujot Power Fx automātiski pārrēķināt formulas pēc vajadzības. Bet ir gadījumi, kad tas ir neizbēgami. Lai iekļautu uzvedības loģiku lietotāja definētā funkcijā, sagatavošana ķermeni cirtainās figūriekavās:
Spend( Amount: Number ) : Void = {
If( Amount > Savings,
Error( $"{Amount} is more than available savings" ),
Set( Savings, Savings - Amount );
Set( Spent, Spent + Amount)
);
}
Tagad mēs varam piezvanīt Spend( 12 ) , lai pārbaudītu, vai mūsu ietaupījumos ir 12, un, ja tā, lai debetētu to par 12 un pievienotu 12 iztērētajam mainīgajam. Šīs funkcijas atgrieztās vērtības tips ir Anulēt , jo tā neatgriež vērtību.
Lietotāja definētas uzvedības funkcijas sintakse ir šāda:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Formula1 [ ; Formula2 ... ] };
- FunctionName – Obligāts. Lietotāja definētās funkcijas nosaukums.
- Parametru nosaukumi - pēc izvēles. Funkcijas parametra nosaukums.
- Parametru tipi - pēc izvēles. Tipa nosaukums, iebūvēta datu tipa nosaukums, datu avota nosaukums vai tips, kas definēts ar funkciju Tips.
- ReturnType - Obligāts. Funkcijas atgrieztās vērtības tips. Izmantojiet opciju Void , ja funkcija neatgriež vērtību.
- Formulas - Obligāti. Formula, kas aprēķina funkcijas vērtību, pamatojoties uz parametriem.
Tāpat kā ar visām Power Fx formulām, izpilde nebeidzas, ja rodas kļūda. Kad funkcija Error ir izsaukta, funkcija If neļauj veikt izmaiņas sadaļā Uzkrājumi un Iztērētie . Funkciju IfError var izmantot arī, lai novērstu turpmāku izpildi pēc kļūdas. Lai gan tas atgriež vienumu Void, formula joprojām var atgriezt kļūdu, ja rodas problēma.
Lietotāja definētie tipi
Formulas ar nosaukumiem var izmantot kopā ar funkciju Tips , lai izveidotu lietotāja definētus tipus. Izmantojiet :== , nevis, lai, piemēram Book := Type( { Title: Text, Author: Text } ), definētu lietotāja definētu tipu. Papildinformāciju un piemērus skatiet rakstā Funkcija .
OnError property
Izmantojiet OnError , lai rīkotos, ja kļūda rodas jebkurā programmas vietā. Tas nodrošina globālu iespēju pārtvert kļūdas reklāmkarogu, pirms tas tiek parādīts gala lietotājam. To var izmantot arī, lai pieteiktos kļūdai, izmantojot Izsekot funkciju, vai rakstītu datu bāzē vai tīmekļa pakalpojumā.
Audekla programmās katra formulas novērtējuma rezultāts tiek pārbaudīts, vai tajā nav kļūdas. Ja rodas kļūda, OnError tiek novērtēts ar tiem pašiem FirstError un AllErrors tvēruma mainīgajiem, kas būtu izmantoti, ja visa formula būtu iesaiņota funkcijā IfError.
Ja OnError ir tukšs, noklusējuma kļūdas reklāmkarogs parāda kļūdas FirstError.Message . Definējot formulu OnError, šī darbība tiek ignorēta, tāpēc veidotājs var apstrādāt kļūdu uzrādīšanu pēc vajadzības. Varat pieprasīt noklusējuma darbību programmā OnError, atkārtoti izmetot kļūdu ar funkciju Error. Izmantojiet atkārtotas mešanas pieeju, ja vēlaties filtrēt vai rīkoties ar dažām kļūdām citādi, bet ļaujiet citām iziet cauri.
OnError nevar aizstāt kļūdu aprēķinos tā, kā to var izdarīt IfError . Ja tiek izsaukts OnError , kļūda jau ir notikusi, un tā jau ir apstrādāta, izmantojot formulu aprēķinus, piemēram , IfError; OnError kontrolē tikai ziņošanu par kļūdām.
OnError formulas tiek novērtētas vienlaicīgi, un ir iespējams, ka to novērtēšana var pārklāties ar citu kļūdu apstrādi. Piemēram, ja iestatāt globālo mainīgo OnError augšdaļā un vēlāk to lasāt tajā pašā formulā, vērtība, iespējams, ir mainījusies. Izmantojiet funkciju Ar, lai izveidotu formulai lokālu nosaukuma vērtību.
Lai gan OnError apstrādā katru kļūdu atsevišķi, noklusējuma kļūdas reklāmkarogs var netikt parādīts katrai kļūdai atsevišķi. Lai izvairītos no tā, ka vienlaikus tiek rādīts pārāk daudz kļūdu reklāmkarogu, tas pats kļūdas reklāmkarogs vairs netiks rādīts, ja tas nesen tika parādīts.
Example
Ņemiet vērā Etiķetes vadīklu un Slīdņa vadīklu, kuras ir saistītas ar šo formuluu:
Label1.Text = 1/Slider1.Value
Iestatiet slīdni pēc noklusējuma uz 50. Ja slīdnis ir pārvietots uz 0, Label1 nerādīs vērtību un tiek parādīts kļūdas reklāmkarogs:
Sīkāk aplūkosim notikušo:
- Lietotājs pārvietoja slīdni pa kreisi, bet rekvizīts Slide1.Value ir mainīts uz 0.
- Label1.Teksts tika automātiski pārvērtēts. Radās dalījums pēc nulles, ģenerējot kļūdu.
- Šajā formulā nav IfError. Dalījums ar nulles kļūdu tiek atgriezts, izmantojot formulas novērtējumu.
- Label1.Text nevar parādīt neko par šo kļūdu, tāpēc tas parāda tukšu stāvokli.
- Tiek izsaukts OnError . Tā kā nav apdarinātāja, tiek parādīts standarta kļūdas reklāmkarogs ar kļūdas informāciju.
Ja nepieciešams, formulu var mainīt arī uz Label1.Text = IfError( 1/Slider1.Value, 0 ). Izmantojot IfError , nav kļūdas vai kļūdas reklāmkaroga. Kļūdas vērtību nevar mainīt sadaļā OnError , jo kļūda jau ir radusies — OnError kontrolē tikai to, kā par to tiek ziņots.
Ja pievienojat OnError apdarinātāju, tas neietekmē darbības pirms 5. darbības, bet maina kļūdas ziņošanas veidu.
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
Izmantojot šo OnError apdarinātāju, programmas lietotājs neredz nevienu kļūdu. Bet kļūda tiek pievienota monitora izsekošanai, ieskaitot kļūdas informācijas avotu no FirstError:
Ja kopā ar izsekošanu vēlaties parādīt arī noklusējuma kļūdas reklāmkarogu, pēc izsekošanas izsaukuma atkārtoti izmetiet kļūdu ar funkciju Kļūda, it kā izsekošanas tur nebūtu:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
OnStart property
Note
Rekvizīta OnStart izmantošana var radīt veiktspējas problēmas, ielādējot programmu. Mēs veidojam alternatīvas diviem galvenajiem iemesliem, kāpēc izmantot šo rekvizītu — datu kešatmiņai un globālo mainīgo iestatīšanai. Jau ir alternatīva, kā definēt pirmo ekrānu, kas jāparāda, izmantojot navigāciju. Atkarībā no konteksta šo rekvizītu var atspējot pēc noklusējuma. Ja to neredzat un jums tas ir jāizmanto, pārbaudiet programmas papildu iestatījumus, lai to iespējotu. Varat arī izmantot ekrāna rekvizītu OnVisible . Pēc noklusējuma, ja ir iespējota nebloķējošā OnStart kārtula, tā ļauj funkcijai OnStart darboties vienlaicīgi ar citām programmu kārtulām. Tātad, ja mainīgie, uz kuriem atsaucas citās lietojumprogrammu kārtulās, tiek inicializēti funkcijā OnStart , iespējams, tie vēl nav pilnībā inicializēti. Turklāt ekrāns var tikt atveidots un kļūt interaktīvs, pirms beidzas funkciju Screen.OnVisible vai App.OnStart darbība, it īpaši, ja to pabeigšana prasa ilgu laiku.
Rekvizīts OnStart tiek palaists, kad lietotājs sāk darbu ar programmu. Šo īpašumu bieži izmanto, lai:
- Izgūstiet un kešatmiņā saglabājiet datus kolekcijās, izmantojot funkciju Collect .
- Iestatīt globālos mainīgos, izmantojot funkciju Set.
Šī formula tiek izpildīta, pirms tiek parādīts pirmais ekrāns. Ekrāns netiek ielādēts, tāpēc konteksta mainīgos nevar iestatīt ar funkciju UpdateContext. Bet jūs varat nodot konteksta mainīgos, izmantojot funkciju Navig.
Kad esat mainījis rekvizītu OnStart , pārbaudiet to, novietojot kursoru virs objekta Programmakoka skata rūtī, atlasot daudzpunkti (...) un pēc tam atlasot Palaist OnStart. Atšķirībā no lietotnes ielādes pirmo reizi, esošās kolekcijas un mainīgie jau ir iestatīti. Lai sāktu ar tukšām kolekcijām, izmantojiet funkciju ClearCollect, nevis Collect.
Note
- Funkcijas Navigēt izmantošana rekvizītā OnStart tiek pārtraukta. Esošās lietotnes joprojām darbojas. Ierobežotu laiku to var iespējot lietotnes iestatījumos (sadaļā Pensionēts). Taču, izmantojot šādu navigāciju , var rasties programmas ielādes aizkavēšanās, jo sistēma ir jāpabeidz OnStart palaišana pirms pirmā ekrāna parādīšanas. Izmantojiet rekvizītu StartScreen , lai iestatītu pirmo parādīto ekrānu.
- Izslēgtais slēdzis ir izslēgts programmām, kas izveidotas pirms 2021. gada marta, ja pievienojāt opciju Naviģēt uz sākuma ekrānu no 2021. gada marta līdz šobrīd. Rediģējot šīs programmas Power Apps Studio, var tikt parādīta kļūda. Ieslēdziet pensionēto slēdzi, lai notīrītu šo kļūdu.
StartScreen property
Rekvizīts StartScreen iestata, kurš ekrāns tiek rādīts vispirms. Tas tiek novērtēts vienu reizi, kad programma tiek ielādēta un atgriež ekrāna objektu. Pēc noklusējuma šis rekvizīts ir tukšs, un pirmais ekrāns Studio koka skatā tiek rādīts vispirms.
StartScreen ir datu plūsmas rekvizīts, kurā nevar būt ietvertas darbības funkcijas. Ir pieejamas visas datu plūsmas funkcijas. Izmantojiet šīs funkcijas un signālus, lai izlemtu, kuru ekrānu rādīt vispirms.
- Param funkcija, lai nolasītu parametrus, kas tiek izmantoti lietotnes startēšanai.
- Lietotāja funkcija, lai lasītu informāciju par pašreizējo lietotāju.
- Uzmeklēšana, Filtrs, CountRows, Max un citas funkcijas, kas tiek lasītas no datu avota.
- API izsaukumi, izmantojot savienotāju. Pārliecinieties, ka zvans tiek ātri atgriezts.
- Signāli, kā Savienojums, Kompass un Programma.
Note
Globālie mainīgie un kolekcijas, tostarp tās, kas izveidotas programmā OnStart, nav pieejamas programmā StartScreen. Nosauktās formulas ir pieejamas un bieži vien ir labāka alternatīva formulu atkārtotai izmantošanai visā lietotnē.
Ja StartScreen atgriež kļūdu, pirmais ekrāns Studio koka skatā tiek rādīts tā, it kā StartScreen nebūtu iestatīts. Izmantojiet funkciju IfError , lai konstatētu kļūdas un novirzītu uz kļūdas ekrānu.
Kad esat mainījis StartScreen programmā Studio, pārbaudiet to, novietojot kursoru virs programmas objekta koka skata rūtī, atlasot daudzpunkti (...) un pēc tam atlasot Naviģēt uz sākuma ekrānu. Ekrāns mainās tā, it kā lietotne tikko ielādēta.
Examples
Screen9
Screen9 tiek rādīts vispirms, kad programma tiek startēta.
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )
Pārbauda, vai ir iestatīts Param "administratora režīms", un izmanto to, lai izlemtu, vai sākuma ekrāns vai AdminScreen tiek rādīts vispirms.
If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )
Pārbauda, vai dalībnieks ir darbinieks, un startēšanas laikā novirza viņu uz pareizo ekrānu.
IfError( If( CustomConnector.APICall() = "Forest",
ForestScreen,
OceanScreen
),
ErrorScreen
)
Novirza programmu, balstoties uz API izsaukumu vai nu uz ForestScreen, vai nu OceanScreen. Ja API neizdodas, tā vietā tiek izmantota ErrorScreen lietotne.
StudioVersion property
Izmantojiet rekvizītu StudioVersion , lai parādītu vai reģistrētu Power Apps Studio versiju, kas tiek izmantota programmas publicēšanai. Šis rekvizīts palīdz, kad atkļūdojat un pārbaudāt, vai jūsu programma ir atkārtoti publicēta ar jaunāko Power Apps Studio versiju.
StudioVersion atgriež tekstu. Šī teksta formāts laika gaitā var mainīties, tāpēc apstrādājiet to kā veselumu un neizvelciet atsevišķas daļas.