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

Мыналарға қолданылады: Canvas қолданбалары

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

Сипаттамасы

Control сияқты, App объектісінде қай экран көрсетіліп жатқанын анықтап, өзгерістерді сақтауды ұсынатын қасиеттер бар, сонда сіз оларды жоғалтпайсыз. Әрбір қолданбада Қолданба нысаны бар.

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

Ағаш көрінісі аумағында таңдалған бағдарлама нысанының скриншоты. Қасиеттер тақтасы көрінеді.

Бұл мақалада App объектісінің келесі қасиеттері қарастырылады:

  • ActiveScreen – қазіргі уақытта көрсетіліп тұрған экран.
  • BackEnabled – қосымша құрылғының артқа шегіну қимылына қалай жауап береді.
  • ConfirmExit және ConfirmExitMessage – қосымшаны жаппас бұрын пайдаланушыға ескерту.
  • Connection string – Application Insights журналын орнатыңыз.
  • Формулалар – атаулы формулаларды, пайдаланушы анықтаған функцияларды және пайдаланушы анықтаған типтерді анықтайды.
  • OnError – қателерді жаһандық деңгейде өңдеу.
  • OnStart – қосымша іске қосылғанда логиканы іске қосыңыз.
  • StartScreen – қосымша жүктелгенде экранды бірінші орнатыңыз.
  • StudioVersion – қосымшаны жариялаған Power Apps Studio нұсқасын қайтару.

ActiveScreen сипаты

ActiveScreen сипаты қазіргі уақытта көрсетілетін экранды анықтайды.

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

Көрсетілетін экранды ауыстыру үшін Артқа немесе Шарлау функциясын пайдаланыңыз.

BackEnabled сипаты

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

ConfirmExit сипаттары

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

Ескертпе

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

ConfirmExit

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

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

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

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

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

Растау диалогтық терезесі Power Apps Studio бағдарламасында көрсетілмейді.

ConfirmExitMessage

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

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

Браузерде растау диалогтық терезесі браузерден жалпы хабарды көрсете алады.

Мысал

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

    AccountForm.Unsaved Or ContactForm.Unsaved
    

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

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

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

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

    Диалогтық терезе пайдаланушы кез келген формадағы деректерді өзгерткенде формаға тән хабарлама көрсетеді және сол өзгерістерді сақтамай қосымшаны жабуға тырысады.

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

Қосылу жолының қасиеті

Жүйе арқылы жасалған қосымша журналдарын Application Insights-ке экспорттау үшін Connection string қасиетін қолданыңыз.

Байланыс жолын орнату үшін connection string:

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

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

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

Formulas қасиетін пайдаланып, қосымшаңызда қайта қолданылатын логиканы анықтаңыз. Formulas қасиеті үш конструкцияны қолдайды:

Аталған формулалар

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

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

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 сондай-ақ қолданбаның жасаушы білмейтін бір бұрышында, басқа біреу жасаған өзгерісті басқару қиын болуы мүмкін және оны қадағалау қиын болуы мүмкін.

Аталған формулалар баламаны ұсынады. Әдетте control-property = expression деп жазғандай, оның орнына name = expression деп жазып, кейін қолданбаңызда name-ді қайта қолданып, өрнекті алмастыруға болады. Формулалар қасиетінде осы формулаларды анықтаңыз:

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( "Reference" ), деп атауға LibraryGenre( "Fiction" )немесе басқа жанрларға сүзгіден өтуге болады.

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

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

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

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

Сіз жазбалар типінің көпше кестесі деп анықтасыз 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 формулалардағы сияқты, қате орын алған кезде орындалу аяқталмайды. Error функциясы шақырылғаннан кейін, If функциясыSavings and Spent өзгерістерін болдырмайды. ЕгерЕгер функциясы қатеден кейін әрі қарай орындауды болдырмау үшін де пайдаланылуы мүмкін. Ол Жарамсыз қайтарса да, мәселе бар болса, формула әлі де қатені қайтара алады.

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

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

OnError сипаты

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

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

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

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

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

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

Мысал

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

Label1.Text = 1/Slider1.Value

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

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

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

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

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

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

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

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

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

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

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

Егер әдепкі қате баннерін және trace-ті көрсеткіңіз келсе, Trace шақыруынан кейін Error функциясын қолданып, қатені қайта іске қосыңыз, бұл Trace жоқ сияқты:

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

OnStart сипаты

Ескертпе

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

  • Деректерді кэштеу немесе жаһандық айнымалыларды орнату үшін мүмкін болған жағдайда Formulas қасиетінде атаулы формуланы қолданыңыз.
  • Бірінші экранды көрсету үшін Navigate орнына StartScreen қасиетін қолданыңыз.
  • Белгілі бір экран көрсетілгенде логиканы іске қосу үшін экранның OnVisible қасиетін қолданыңыз.

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

Блоктамайтын OnStart ережесі (әдепкі) қосылғанда, OnStart басқа қосымша ережелерімен бір уақытта жұмыс істейді. Нәтижесінде:

  • OnStart-та инициализацияланған айнымалылар басқа қосымша ережелерін оқығанда толық инициалданбауы мүмкін.
  • Экран App.OnStart немесе Screen.OnVisible іске қосылмай тұрып, рендер жасап, интерактивті бола алады, әсіресе бұл функциялар ұзақ уақыт алса.

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

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

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

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

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

Ескертпе

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

StartScreen сипаты

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

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

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

Ескертпе

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

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

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

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

Мысалдар

Screen9

Screen9 Бағдарлама басталған кезде алдымен көрсетіледі.

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

Параметр «әкімші режимі» орнатылғанын тексереді және оны Басты экран немесе AdminScreen бірінші көрсетілетінін шешу үшін пайдаланады.

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

Қатысушының қызметкер екенін тексереді және оны іске қосу кезінде дұрыс экранға бағыттайды.

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

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

StudioVersion сипаты

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

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