Бөлісу құралы:


Power Apps жүйесіндегі қолданба нысаны

Қолданылады: Canvas қолданбалары Үлгіге негізделген қолданбалар

Қазіргі уақытта жұмыс істеп жатқан қолданба және қолданба әрекетін басқару туралы ақпаратты қамтамасыз етеді.

Сипаттама

Басқару сияқты Қолданба нысаны көрсетіліп тұрған экранды анықтайтын және пайдаланушыға өзгертулер жоғалмауы үшін оларды сақтауды ескертетін сипаттарды береді. Әрбір қолданбада Қолданба нысаны бар.

Қолданба нысанының кейбір сипаттары үшін формулалар жазуыңызға болады. Тармақ көрінісі тақтасының жоғарғы жағында кез келген басқа басқару элементін немесе экранды таңдағандай Қолданба нысанын таңдаңыз. Нысан сипаттарының біреуін оны формула жолағының сол жағындағы ашылмалы тізімнен таңдау арқылы қараңыз және өңдеңіз.

Ағаш көрініс тақтасындағы Қолданба нысаны.

ActiveScreen сипаты

ActiveScreen сипаты көрсетіліп тұрған экранды анықтайды.

Бұл сипат экран нысанын қайтарады. Оны App.ActiveScreen.Name формуласы бар атау сияқты ағымдағы көрсетілетін экранның сипаттарына сілтеме жасау үшін пайдаланыңыз. Сондай-ақ, бұл сипатты басқа экран нысанымен салыстыруға болады, мысалы App.ActiveScreen = Screen2Screen2 салыстыру формуласымен. қазіргі уақытта көрсетілген экран.

Көрсетіліп тұрған экранды өзгерту үшін Back немесе Navigate функциясын пайдаланыңыз.

BackEnabled сипаты

BackEnabled сипаты қолданбаның құрылғының кері қимылына қалай жауап беретінін өзгертеді (сүртіңіз немесе құрылғылардағы аппараттық құралды кері түймені пайдаланыңыз, Android солдан сырғытыңыз iOS құрылғылар) Power Apps ұялы телефонда іске қосылғанда. Қосылған кезде, құрылғының артқа қимылы ең соңғы көрсетілген экранға оралады, ол Артқа формуласына ұқсас. Өшірілген кезде, құрылғының кері қимылы пайдаланушыны қолданбалар тізіміне қайтарады.

ConfirmExit сипаттары

Ешкім сақталмаған өзгерістерді жоғалтқысы келмейді. Пайдаланушыларға қолданбаңызды жаппастан бұрын ескерту үшін ConfirmExit және ConfirmExitMessage сипаттарын пайдаланыңыз.

Ескертпе

  • ConfirmExit мысалы, Power BI және SharePoint ендірілген қолданбаларда жұмыс істемейді.
  • Енді Кідіртілген жүктеу алдын ала қарау мүмкіндігі қосылған болса, бұл сипаттар тек бірінші экрандағы басқару элементтеріне сілтеме жасай алады (ол жаңа қолданбалар үшін әдепкі бойынша). Сілтемелер жасалса, Power Apps Studio қате көрсетпейді, бірақ нәтижеде жарияланған қолданба Power Apps Mobile жүйесінде немесе шолғышта ашылмайды. Біз бұл шектеуді жою үшін белсенді жұмыс істеп жатырмыз. Осы уақытта Кешіктірілген жүктеме параметрін Параметрлер>Алдағы мүмкіндіктер (Алдын ала қарау нұсқасы) тармағында өшіруге болады.

ConfirmExit

ConfirmExit бұл логикалық сипат, ол шын болғанда, қолданба жабылмас бұрын растау диалогтық терезесін ашады. Әдепкі бойынша, бұл сипат жалғанжәне ешқандай тілқатысу терезесі пайда болмайды.

Пайдаланушыда қолданбада сақталмаған өзгерістер болуы мүмкін жағдайларда, қолданбадан шықпас бұрын растау тілқатысу терезесін көрсету үшін осы сипатты пайдаланыңыз. Айнымалылар мен басқару сипаттарын тексере алатын формуланы пайдаланыңыз (мысалы, Пішінді өңдеу басқару элементінің Unsaved сипаты).

Растау тілқатысу терезесі мына мысалдардағыдай деректер жоғалуы мүмкін кез келген жағдайда пайда болады:

  • Exit функциясын іске қосу.
  • Егер бағдарлама браузерде жұмыс істеп тұрса:
    • Қолданба іске қосылып тұрған шолғышты немесе шолғыш қойындысын жабу.
    • Шолғыштың артқа түймесін таңдау.
    • Launch функциясын Жеке параметрінің LaunchTarget сипаты арқылы іске қосу.
  • Қолданба Power Apps Ұялы телефонда (iOS немесе Android) жұмыс істеп тұрса:
    • Power Apps Mobile жүйесінде басқа қолданбаға ауысу үшін сипау.
    • Android құрылғысында артқа түймесін таңдау.
    • Басқа кенеп бағдарламасын іске қосу үшін Launch функциясын іске қосу.

Растау тілқатысу терезесінің нақты көрінісі құрылғылар мен Power Apps жүйесінің нұсқалары арасында әртүрлі болуы мүмкін.

Растау тілқатысу терезесі Power Apps Studio жүйесінде пайда болмайды.

ConfirmExitMessage

Әдепкі бойынша, растау диалогтық терезесі пайдаланушы тілінде "Сақталмаған өзгертулеріңіз болуы мүмкін" сияқты жалпы хабарды көрсетеді.

ConfirmExitMessage функциясын растау тілқатысу терезесінде теңшелетін хабар беру үшін пайдаланыңыз. Бұл сипат бос болса, әдепкі мән пайдаланылады. Теңшелетін хабарлар растау тілқатысу терезесіне шақ келуге қажетті түрде қысқартылады, сондықтан хабарыңызды ең көбі бірнеше жол етіп сақтаңыз.

Шолғышта растау тілқатысу терезесі шолғыштан жалпы хабармен пайда болуы мүмкін.

Ескертпе

Бағдарлама нысанында эксперименттік болып табылатын тағы екі OnMessage және BackEnabled сипаты бар. Бұл сипаттар бағдарлама нысанынан ақырында жойылады. Бұл сипаттарды жұмыс ортасында пайдаланбауға кеңес береміз.

Мысал

  1. Екі пішінді басқару элементінен тұратын қолданба жасаңыз: AccountFormжәне ContactForm.

  2. Қолданба нысанының ConfirmExit сипатын мына кеңейтімге орнатыңыз:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    Бұл тілқатысу терезесі пайдаланушы бір пішінде деректерді өзгертіп, одан кейін ол өзгертулерді сақтамастан қолданбаны жабуға әрекет еткен жағдайда пайда болады.

    Жалпы растау диалогтық терезесі.

  3. Қолданба нысанының ConfirmExitMessage сипатын мына формулаға орнатыңыз:

    If( AccountsForm.Unsaved,
        "Accounts form has unsaved changes.",
        "Contacts form has unsaved changes."
    )
    

    Бұл тілқатысу терезесі пайдаланушы Тіркелгі пішінінде деректерді өзгертіп, одан кейін ол өзгертулерді сақтамастан қолданбаны жабуға әрекет еткен жағдайда пайда болады.

    Пішінге арналған растау диалогтық терезесі.

үшін аспаптық кілтті орнату Application Insights

Жүйе жасаған қолданба журналдарын Application Insights ішіне экспорттау үшін кенеп қолданбасы үшін Құралдар кілтін орнату керек.

  1. Қолданбаңызды өңдеу Power Apps Studio үшін ашыңыз.
  2. Сол жақ шарлау тармағы көрінісінде Қолданба нысанын таңдаңыз.
  3. Сипаттар тақтасында Құралдар кілтін енгізіңіз.

Деректер App Insights қызметіне жіберілмесе, Power Platform әкімшіге хабарласыңыз және App Insights жалушы деңгейінде өшірілгенін тексеріңіз.

Формулалар сипаты

Бағдарламаңызда қайта пайдалануға болатын формуланы анықтау үшін, Формулалар сипатында аталған формулаларды пайдаланыңыз.

Power Appsішінде формулалар басқару қасиеттерінің мәнін анықтайды. Мысалы, барлық бағдарламалар үшін бірізді фон түсін орнату үшін, әрқайсысы үшін Бояу сипатын ортақ формулаға орнатуға болады:

Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )

Бұл формула пайда болуы мүмкін көптеген орындарда, өзгерту қажет болған жағдайда, олардың барлығын жаңарту жалықтырады және қатеге бейім болады. Оның орнына түсті бір рет орнату үшін OnStart пішімінде глобалдық айнымалы мәнді жасай аласыз, содан кейін мәнді бағдарламада қайта пайдалана аласыз:

App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Бұл әдіс жақсырақ болғанымен, ол BGColor үшін мәнді орнатқанға дейін OnStart параметрінің іске қосылуына да байланысты. BGColor сондай-ақ қолданбаның жасаушы білмейтін бір бұрышында, басқа біреу жасаған өзгерісті басқару қиын болуы мүмкін және оны қадағалау қиын болуы мүмкін.

Аталған формулалар баламаны ұсынады. Біз әдетте басқару-элементінің-сипаты = өрнек деп жазатын сияқты оның орнына атау = өрнек деп жазуымызға болады, содан кейін бүкіл бағдарламадағы өрнектіатаумен ауыстыру үшін қайта пайдалана аламыз. Бұл формулалардың анықтамалары Формулалар сипатында беріледі:

App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

Аталған формулаларды пайдаланудың артықшылықтары мыналарды қамтиды:

  • Формуланың мәні әрқашан қолжетімді. Уақытқа тәуелділік жоқ, мән орнатылғанға дейін бірінші болып іске қосылуы керек OnStart оқиғасы жоқ және формуланың мәні дұрыс емес болатын уақыт жоқ. Аталған формулалар бір-біріне кез келген ретпен сілтеме жасай алады (егер олар айналма сілтеме жасамаса). Оларды параллель есептеуге болады.
  • Формуланың мәні әрқашан жаңартылып тұрады. Формула басқару сипаттарына немесе дерекқор жазбаларына тәуелді есептеуді орындай алады және олар өзгерген сайын формуланың мәні автоматты түрде жаңартылады. Айнымалы мәндегідей мәнді қолмен жаңартудың қажеті жоқ. Ал формулалар қажет болғанда ғана қайта есептейді.
  • Формуланың анықтамасы өзгермейді. Формулалар өрісіндегі анықтама сенімді ақпараттың жалғыз көзі болып табылады және мәнді бағдарламаның басқа жерінде өзгерту мүмкін емес. Айнымалы мәндермен кейбір код мәнді күтпеген жерден өзгертуі мүмкін, бірақ бұл күрделі күйді түзету аталған формулалармен мүмкін емес.
  • Формуланы есептеуді кейінге қалдыруға болады. Оның мәні өзгермейтін болғандықтан, оны қажет кезде әрқашан есептеуге болады, яғни қажет болғанша оны есептеу қажет емес. Бағдарламаның экран2 мәні көрсетілгенге дейін пайдаланылмайтын формула мәндерін экран2 мәні көрінбейінше есептеу қажет емес. Бұл жұмысты кейінге қалдыру қолданбаны жүктеу уақытын жақсартуы мүмкін. Аталған формулалар декларативті болып табылады және олар жүйеге есептеу әдісі мен уақытын оңтайландыру мүмкіндігін береді.
  • Аталған формулалар Excel тұжырымдамасы болып табылады. Power Fx мүмкіндігінше Excel тұжырымдамаларын пайдаланады, өйткені көп адамдар Excel-ді жақсы біледі. Аталған формулалар атау диспетчерімен басқарылатын Excel бағдарламасындағы аталған ұяшықтардың және аталған формулалардың баламасы болып табылады. Олар электрондық кестенің ұяшықтары және басқару сипаттары сияқты автоматты түрде қайта есептеледі.

Аталған формулалар Формулалар сипатында бірінен соң бірі анықталып, әрқайсысы нүктелі үтірмен аяқталады. Формуланың түрі формуладағы элементтердің түрлерінен және олардың бірге қалай қолданылғанынан шығады. Мысалы, осы аталған формулалар ағымдағы пайдаланушы туралы пайдалы ақпаратты 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' );

Егер UserTitle үшін формуланы жаңарту қажет болса, оны осы бір жерде оңай жасауға болады. Егер UserPhone бағдарламада қажет болмаса, онда Dataverse бағдарламасында Пайдаланушылар кестесіне жасалған шақырулар жасалмайды. Пайдаланылмайтын формула анықтамасын қосқаныңыз үшін айыппұл жоқ.

Аталған формулалардың кейбір шектеулері:

  • Олар әрекет функцияларын пайдалана алмайды немесе бағдарлама ішінде жанама әсерлерді қандай да бір жолмен шақыра алмайды.
  • Олар айналма сілтеме жасай алмайды. Бір бағдарламада a = b; және b = a; мәндерінің болуына рұқсат етілмейді.

Пайдаланушы анықтайтын функциялар

Маңызды

Power Fx кіріктірілген функциялардың ұзақ тізімін қамтиды, мысалы Егер, Мәтін және Орнату. Пайдаланушы анықтайтын функциялар кірістірілген функциялар сияқты параметрлерді қабылдайтын және мәнді қайтаратын өзіңіздің функцияларыңызды жазуға мүмкіндік береді. Пайдаланушы анықтаған функцияларды параметрлерді қосатын және мінез-құлық формулаларына қолдау көрсететін аталған формулаларға кеңейтім ретінде қарастыруға болады.

Мысалы, кітапханадан көркем әдебиет кітаптарын қайтаратын аталған формуланы анықтауға болады:

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

Параметрлерсіз біз әрбір жанр үшін бөлек аталған формулаларды анықтауымыз керек. Бірақ оның орнына атаулы формуламызды параметрлендірейік:

LibraryType := Type( [ { Title: Text, Author: Text, Genre: Text } ] );

LibraryGenre( SelectedGenre: Text ): LibraryType = Filter( Library, Genre = SelectedGenre );

Енді біз LibraryGenre( "Fiction" ), LibraryGenre( "Reference" ) шақыра аламыз немесе бір пайдаланушы анықтайтын функциямен басқа жанрларға сүзе аламыз.

Синтаксис бұл:

Функция атауы( [ Параметр атауы1: Параметр түрі1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = Формула;

  • Функция атауы – Міндетті. Пайдаланушы анықтаған функцияның аты.
  • Параметр атаулары – Қосымша. Функция параметрінің аты.
  • ParameterTypes – Қосымша. Түрдің атауы, кірістірілген деректер түрінің атауы, деректер көзінің атауы немесе Түрі> функциясы.
  • ReturnType – Міндетті. Функциядан қайтарылатын мәннің түрі.
  • Формула – Міндетті. Параметрлер негізінде функцияның мәнін есептейтін формула.

Әрбір параметр және пайдаланушы анықтау функциясының шығысы терілуі керек. Бұл мысалда SelectedGenre: Text функциямыздың бірінші параметрін Мәтін және SelectedGenre түрдегі болуын анықтайды Сүзгі операциясы үшін денеде қолданылатын параметр. Қолдау көрсетілетін түр атаулары үшін Дерек түрлері бөлімін қараңыз. Түрі функциясы кітапханамыздың жиынтық түрін жасау үшін пайдаланылады, осылайша функциямыздан кітаптар кестесін қайтара аламыз.

Біз LibraryType жазба түрінің көпше кестесі ретінде анықтадық. Функцияға бір кітапты өткізгіміз келсе, RecordOf функциясы арқылы осы кестенің жазба түрін шығара аламыз:

BookType := Type( RecordOf( LibraryType ) );

IsGenre( Book: BookType, SelectedGenre: Text ): Boolean = (Book.Genre = SelectedGenre);

Функция параметрлері үшін жазба сәйкестігі Power Fx басқа бөліктеріне қарағанда қатаңырақ. Жазба мәнінің өрістері түр анықтамасының тиісті ішкі жиыны болуы керек және қосымша өрістерді қамтуы мүмкін емес. Мысалы, IsGenre( { Title: "My Book", Published: 2001 }, "Fiction" ) қатеге әкеледі.

Пайдаланушы анықтаған функциялар рекурсияға әлі қолдау көрсетпейтінін ескеріңіз.

Мінез-құлық пайдаланушы анықталған функциялар

Атаулы формулалар және пайдаланушы анықтаған функциялардың көпшілігі Орнату немесе Хабарлау сияқты жанама әсерлері бар мінез-құлық функцияларын қолдамайды. . Жалпы, мүмкіндігінше күйді жаңартудан аулақ болған дұрыс, оның орнына функционалды бағдарламалау үлгілеріне сүйеніп, Power Fx қажетінше формулаларды автоматты түрде қайта есептеуге рұқсат беріңіз. Бірақ, одан құтылу мүмкін емес жағдайлар бар. Пайдаланушы анықтаған функцияға мінез-құлық логикасын қосу үшін денені бұйра жақшаға ораңыз:

Spend( Amount: Number ) : Void = {
    If( Amount > Savings, 
        Error( $"{Amount} is more than available savings" ),
        Set( Savings, Savings - Amount );
        Set( Spent, Spent + Amount) 
    );
}

Енді біз жинақта 12 бар-жоғын тексеру үшін Spend( 12 ) қоңырау шала аламыз, егер бар болса, оны 12-ге дебеттеп, жұмсалған айнымалыға 12 қоса аламыз. Бұл функцияның қайтару түрі Void ол мәнді қайтармайды.

Мінез-құлықты пайдаланушы анықтаған функцияның синтаксисі:

Функция атауы( [ ПараметрАты1: Параметр түрі1 [, ПараметрАты2: Параметр түрі2 ... ] ] ) : ReturnType = { Формула1 [ ; Формула2 ... ] };

  • Функция атауы – Міндетті. Пайдаланушы анықтаған функцияның аты.
  • Параметр атаулары – Қосымша. Функция параметрінің аты.
  • ParameterTypes – Қосымша. Түрдің атауы, кірістірілген деректер түрінің атауы, деректер көзінің атауы немесе Түрі функция.
  • ReturnType – Міндетті. Функциядан қайтарылатын мәннің түрі. Функция мәнді қайтармаса, Void пайдаланыңыз.
  • Формулалар – Міндетті. Параметрлер негізінде функцияның мәнін есептейтін формула.

Барлық Power Fx формулалардағы сияқты, қате орын алған кезде орындалу аяқталмайды. Қате функциясы шақырылғаннан кейін Егер функциясы өзгерістерді болдырмайды үшін Үнемдеу және Жұмсалған болған жағдайдан. ЕгерЕгер функциясы қатеден кейін әрі қарай орындауды болдырмау үшін де пайдаланылуы мүмкін. Ол Жарамсыз қайтарса да, мәселе бар болса, формула әлі де қатені қайтара алады.

Пайдаланушы анықтайтын типтер

Маңызды

Аты аталған формулаларды пайдаланушы анықтаған түрлерді жасау үшін Түрі функциясымен бірге пайдалануға болады. Пайдаланушы анықтаған түрді анықтау үшін := орнына = пайдаланыңыз, мысалы Book := Type( { Title: Text, Author: Text } ). Қосымша ақпарат пен мысалдар үшін Түрі функциясы бөлімін қараңыз.

OnError сипаты

Қолданбаның кез келген жерінде қате орын алған кезде әрекет ету үшін OnError пайдаланыңыз. Ол соңғы пайдаланушыға көрсетілмес бұрын қате баннерін ұстауға жаһандық мүмкіндік береді. Сондай-ақ, оны Trace функциясымен қатені тіркеу немесе дерекқорға немесе веб-қызметке жазу үшін пайдалануға болады.

Canvas қолданбаларында әрбір формуланы бағалау нәтижесі қатеге тексеріледі. Қате орын алса, OnError бірдей БіріншіҚате және БарлықҚателермен бағаланады. бүкіл формула оралған кезде қолданылатын аумақтың айнымалы мәндері an ЕгерҚате функциясы.

Егер OnError бос болса, әдепкі қате баннері қатенің FirstError.Message хабарымен көрсетіледі. OnError формуласын анықтау бұл әрекетті қайта анықтайды, бұл жасаушыға қате туралы есеп беруді өз қалауынша өңдеуге мүмкіндік береді. Қатені Error функциясы арқылы қайта шығару арқылы әдепкі әрекетті OnError сипатында сұрауға болады. Кейбір қателерді сүзгілеу немесе басқа әдіспен өңдеу, ал басқалары арқылы өту қажет болса, қайта тастау тәсілін пайдаланыңыз.

OnError есептеулердегі қатені Егер дей алатындай ауыстыра алмайды. Егер OnError шақырылса, қате орын алып қойған және ол IfError сияқты формула есептеулері арқылы әлдеқашан өңделген; OnError тек қате туралы есеп беруді басқарады.

OnError формулалары бір мезгілде бағаланады және олардың бағалауы басқа қателерді өңдеумен қабаттасуы мүмкін. Мысалы, егер сіз OnError жоғарғы жағына глобалдық айнымалы мәнді орнатып, оны кейінірек сол формулада оқысаңыз, мән өзгерген болуы мүмкін. Формула үшін жергілікті болып табылатын аталған мәнді жасау үшін With функциясын пайдаланыңыз.

Әр қате OnError арқылы жеке өңделсе де, әдепкі қате баннері әрбір қате үшін жеке көрсетілмеуі мүмкін. Бір уақытта тым көп қате баннерлерінің көрсетілуін болдырмау үшін, сол қате баннер жақында көрсетілсе, қайта көрсетілмейді.

Мысал

Төменде берілген формула арқылы бір-бірімен байланысқан Label басқару элементі мен Slider басқару элементін қарастырайық:

Label1.Text = 1/Slider1.Value

Белгі және жүгірткі басқару элементі Label1.Text = 1/Slider1.Value формуласы арқылы байланыстырылған.

Slider әдепкі бойынша 50-ге тең. Егер slider мәні 0-ге жылжытылса, Label1 мәнді көрсетпейді және қате баннері көрсетіледі:

Жүгірткіні басқару элементі 0-ге жылжытылды, нәтижесінде қате нөлге бөлінді және қате баннері пайда болды.

Не болғанын егжей-тегжейлі қарастырайық:

  1. Пайдаланушы слайдты солға жылжытты және Slide1.Value сипаты 0-ге өзгерді.
  2. Label1.Text автоматты түрде қайта бағаланды. Нөлге бөлу қатені тудырды.
  3. Бұл формулада IfError жоқ. Нөлге бөлу қатесі формуланы бағалау нәтижесінде пайда болады.
  4. Label1.Text бұл қате үшін ештеңе көрсете алмайды, сондықтан ол бос күйін көрсетеді.
  5. OnError шақырылады. Өңдеуші болмағандықтан, стандартты қате баннері қате туралы ақпаратпен көрсетіледі.

Қажет болса, формуланы Label1.Text = IfError( 1/Slider1.Value, 0 ) етіп өзгерте аламыз. IfError пайдалану қате немесе қате баннеріне әкелмейді. Қатенің мәнін OnError сипатынан өзгерте алмаймыз, себебі бұл кезде қате орын алып қойған, тек оның қалай хабарланатыны маңызды.

Егер OnError өңдеушісін қоссақ, ол 5-қадамға дейін әсер етпейді, бірақ ол қате туралы хабарлауға әсер етуі мүмкін:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" )

App.OnError формуласы Trace жасау үшін орнатылған.

Бұл OnError өңдеу құралы орнында қолданба пайдаланушысының көзқарасы бойынша ешқандай қате болмайды. Бірақ қате БіріншіҚате қате туралы ақпарат көзімен бірге монитордың ізіне қосылады:

Жүгірткіні басқару 0-ге жылжытылды, нәтижесінде қате нөлге бөлінді, бірақ қате баннері жоқ.

Сондай-ақ қадағалау мүмкіндігіне қосымша бірдей әдепкі қате баннерінің көрсетілуін қаласақ, қатені Error функциясымен Trace шақыруынан кейін қайта жасай аламыз (Trace болмаған жағдайда да осы әрекетті орындауға болады):

Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )

OnStart сипаты

Ескертпе

OnStart сипатын пайдалану бағдарламаны жүктеген кезде өнімділік мәселелерін тудыруы мүмкін. Біз сипатты пайдаланудың негізгі екі себебі бойынша балама жасау үстіндеміз — деректерді кэштеу және жаһандық айнымалыларды орнату. Navigate опциясымен көрсетілетін алғашқы экранды анықтауға арналған балама жасадық. Мәтінмәнге байланысты бұл сипат әдепкі бойынша өшірілген болуы мүмкін. Егер сіз оны көрмесеңіз және оны пайдалану қажет болса, оны қосу үшін бағдарламаның қосымша параметрлерінде қосқыштың бар-жоғын тексеріңіз. Экранның OnVisible сипатын да пайдалануға болады. Әдепкі бойынша, бұғаттамайтын OnStart ережесі қосылғанда, ол OnStart функциясымен бір уақытта жұмыс істеуге мүмкіндік береді. басқа қолданба ережелері. Сонымен, басқа қолданба ережелерінде сілтеме жасалған айнымалы мәндер OnStart функциясында инициализацияланса, олар әлі толық инициализацияланбауы мүмкін. Оған қоса, экранның Screen.OnVisible немесе App.OnStart функциялар орындалуын аяқтайды, әсіресе олардың аяқталуына ұзақ уақыт кетсе.

OnStart сипаты пайдаланушы қолданбаны іске қосқан кезде іске қосылады. Бұл сипат көбінесе келесі тапсырмаларды орындау үшін пайдаланылады:

  • Collect функциясын пайдалану арқылы деректерді шығарып алып, жинақтарға кэштеңіз.
  • Жаһандық айнымалыларды Set функциясын пайдалану арқылы орнатыңыз.

Бұл формула бірінші экран пайда болғанға дейін бағаланады. Ешқандай экран жүктелмеген, сондықтан сіз мәтінмәндік айнымалы мәндерді UpdateContext функциясымен орната алмайсыз. Дегенмен, мәтінмәндік айнымалы мәндерді Navigate функциясымен өткізе аласыз.

OnStart сипатын өзгерткеннен кейін оны Тармақ көрінісі тақтасында Бағдарлама нысанына курсорды апарып, эллипс (...) және OnStart бағдарламасын іске қосу опциясын таңдау арқылы тексеріңіз. Қолданба бірінші рет іске қосылған кездегіден айырмашылығы — бар жинақтар мен айнымалылар орнатылып қояды. Бос жинақтармен бастау үшін Collect функциясының орнына ClearCollect функциясын пайдаланыңыз.

Run OnStart үшін қолданба элементінің мәтінмәндік мәзірі

Ескертпе

  • OnStart сипатында Navigate функциясын пайдалану жабылған. Қолданыстағы бағдарламалар жұмысын жалғастырады. Шектеулі уақыт ішінде оны бағдарлама параметрлерінде қосуға болады (Жабылған бөлімінде қолжетімді). Дегенмен, Шарлау функциясын осы әдіспен пайдалану бағдарламаны жүктеудің кідірістеріне әкелуі мүмкін, өйткені бұл жүйені бірінші экранды көрсетпестен бұрын OnStart бағалауын аяқтауға әкеледі. Көрсетілетін бірінші экранды есептеу орнына StartScreen сипатын пайдаланыңыз.
  • 2021 жылдың наурызы мен 2021 жылдың наурызы аралығында Шарлау қосылған OnStart қосылған қолданбалар үшін тоқтатылған қосқыш өшірулі болады. қазір. Мұндай бағдарламаларды Power Apps Studio қызметінде өңдегенде қатені көруіңіз мүмкін. Бұл қатені жою үшін өшірілген қосқышты қосыңыз.

StartScreen сипаты

StartScreen сипаты қай экран бірінші көрсетілетінін анықтайды. Ол бағдарлама жүктелген кезде бір рет бағаланады және көрсетілетін экран нысанын қайтарады. Әдепкі бойынша, бұл сипат бос және Studio Tree көрінісіндегі бірінші экран алдымен көрсетіледі.

StartScreen бұл мінез-құлық функцияларын қамтымайтын деректер ағынының сипаты. Барлық деректер ағыны функциялары қолжетімді, атап айтқанда, қай экран бірінші көрсетілетінін анықтау үшін осы функциялар мен сигналдарды пайдаланыңыз:

  • Param функциясы қолданбаны іске қосу үшін пайдаланылатын параметрлерді оқуға арналған.
  • User ағымдағы пайдаланушы туралы ақпаратты оқу функциясы.
  • LookUp, Сүзгі, CountRows, Макс және деректер көзінен оқылатын басқа функциялар.
  • Кез келген API қосқыш арқылы шақырады, бірақ оның тез оралуын ескеріңіз.
  • Байланыс, Компас және Бағдарлама секілді сигналдар.

Ескертпе

Жаһандық айнымалылар мен жинақтар, соның ішінде OnStart ішінде жасалғандар StartScreen бағдарламасында қолжетімді емес. Атаулы формулалар қол жетімді және көбінесе қолданбада формуланы қайта пайдалану үшін жақсы балама болып табылады.

Егер StartScreen қатені қайтарса, StartScreen орнатылмаған болса, Studio Tree көрінісіндегі бірінші экран көрсетіледі. Қателерді анықтап, тиісті қате экранына қайта бағыттау үшін IfError функциясын пайдаланыңыз.

Studio бағдарламасында StartScreen сипатын өзгерткеннен кейін оны Тармақ көрінісі тақтасында Бағдарлама нысанына курсорды апарып, эллипс (...) және StartScreen бағдарламасына шарлау опциясын таңдау арқылы тексеріңіз. Экран қолданба жаңа ғана жүктелгендей өзгереді.

StartScreen бағдарламасын шарлау

Мысалдар

Screen9

Бағдарлама іске қосылғанда Screen9 экраны бірінші көрсетілуі тиіс екенін көрсетеді.

If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

Param "әкімші-режимі" пайдаланушымен орнатылғанын тексереді және оны алдымен HomeScreen немесе AdminScreen параметрі көрсетілу керектігін шешу үшін пайдаланады.

If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )

Конференцияға қатысушының қызметкер екенін тексереді және іске қосу кезінде оларды тиісті экранға бағыттайды.

IfError( If( CustomConnector.APICall() = "Forest", 
             ForestScreen, 
             OceanScreen 
         ), 
         ErrorScreen 
)

API қоңырауы негізінде бағдарламаны ForestScreen немесе OceanScreen қызметтеріне бағыттайды. API қандай да бір себептермен сәтсіз болса, орнына ErrorScreen пайдаланылады.

StudioVersion сипаты

Қолданбаны жариялау үшін пайдаланылған нұсқасын көрсету немесе тіркеу үшін StudioVersion Power Apps Studio сипатты пайдаланыңыз. Бұл түзету кезінде және қолданбаңыздың Power Apps Studio соңғы нұсқасымен қайта жарияланғанына көз жеткізу үшін пайдалы болуы мүмкін.

StudioVersion мәтін ретінде қайтарылады. Мәтіннің форматы уақыт өте келе өзгеруі мүмкін және оны тұтастай қарастыру керек; жеке бөліктерді алудан аулақ болыңыз.