Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
Отнася се за: Приложения за платно
Получете информация за текущо изпълняваното приложение и управлявайте поведението на приложението.
Описание
Подобно на контрола обектът app има свойства, които определят кой екран се показва, и ви подканват да запишете промените, така че да не ги загубите. Всяко приложение има обект Приложение.
Напишете формули за някои свойства на обекта на приложението . В горната част на екрана Изглед на дърво, изберете обекта Приложение, както бихте направили всеки друг контрол или екран. За да прегледате или редактирате едно от свойствата на обекта, изберете го в падащия списък отляво на лентата за формули.
Тази статия описва следните свойства на обект на приложение :
- ActiveScreen – екранът, който се показва в момента.
- BackEnabled – как приложението отговаря на жеста за връщане на устройството.
- ConfirmExit и ConfirmExitMessage – предупреждавайте потребителя, преди да затворите приложението.
- Низ за връзка – настройване на регистриране на "Прозрения на приложението".
- Формули – дефинират наименувани формули, дефинирани от потребителя функции и типове, дефинирани от потребителя.
- OnError – обработва грешките глобално.
- OnStart – изпълнете логиката при стартиране на приложението.
- StartScreen – задайте екрана, който се показва първо, когато приложението се зарежда.
- StudioVersion – върнете версията на Power Apps Studio, която е публикувала приложението.
Свойство ActiveScreen
Свойството ActiveScreen идентифицира екрана, който се показва в момента.
Това свойство връща екранен обект. Използвайте го, за да посочите свойствата на текущия екран, като например името с формулата , App.ActiveScreen.Name. Можете също да сравните това свойство с друг екранен обект, например с формулата за сравнение App.ActiveScreen = Екран2 , за да проверите дали Екран2 е текущият екран.
Използвайте функцията Назад или Навигация , за да превключите екрана, който се показва.
BackEnabled свойство
Свойството BackEnabled променя начина, по който приложението отговаря на жеста за връщане на устройството (плъзнете или използвайте бутона за връщане на хардуера на устройства с Android или плъзнете бързо отляво на устройства с iOS), когато се изпълнява в Power Apps mobile. Когато е разрешено, жестът за връщане на устройството се връща към екрана, който е последно показан, който е подобен на формулата "Назад ". Когато е забранено, жестът за връщане на устройството отвежда потребителя към списъка с приложения.
Свойствата на ConfirmExit
Никой не иска да загуби несъхранени промени. Използвайте свойствата ConfirmExit и ConfirmExitMessage , за да предупредите потребителя, преди да затворите приложението си.
Бележка
- ConfirmExit не работи в приложения, вградени в, например Power BI и SharePoint.
- ConfirmExit не се поддържа в страници по избор.
- Сега тези свойства могат да препращат към контроли само на първия екран, ако функцията за визуализация на забавено зареждане е разрешена (която е по подразбиране за нови приложения). Ако правите справка с други екрани, Power Apps Studio не показва грешка, но публикуваното приложение не се отваря в Power Apps Mobile или браузър. Microsoft работи за премахването на това ограничение. Междувременно изключете Забавено зареждане в Настройки>Предстоящи функции (под Предварителен преглед).
ConfirmExit
ConfirmExit е булево свойство, което, когато е истина, отваря диалогов прозорец за потвърждение, преди приложението да се затвори. По подразбиране това свойство е невярно и не се появява диалогов прозорец.
Когато потребителят може да има незаписани промени в приложението, използвайте това свойство, за да се покаже диалогов прозорец за потвърждение, преди да излезете от приложението. Използвайте формула, която проверява променливи и свойства на контролата (например свойството Незаписана на контролата "Редактиране на формуляр ").
Диалоговият прозорец за потвърждение се появява във всяка ситуация, в която може да се загубят данни, като например:
- Изпълнете функцията Exit .
- Ако приложението се изпълнява в браузър:
- Затворете браузъра или раздела на браузъра, където се изпълнява приложението.
- Изберете бутона "Назад" на браузъра.
- Изпълнете функцията Launch с LaunchTarget of Self.
- Ако приложението се изпълнява в Power Apps Mobile (iOS или Android):
- Плъзнете бързо, за да превключите към друго приложение в Power Apps Mobile.
- Изберете бутона "Назад" на устройство с Android.
- Изпълнете функцията Стартиране , за да стартирате друго приложение за платно.
Точният вид на диалоговия прозорец за потвърждение може да се различава на различните устройства и версии на Power Apps.
Диалоговият прозорец за потвърждение не се показва в Power Apps Studio.
ConfirmExitMessage
По подразбиране диалоговият прозорец за потвърждение показва общо съобщение, като например „Може да имате незаписани промени.“ на езика на потребителя.
Използвайте ConfirmExitMessage, за да предоставите персонализирано съобщение в диалоговия прозорец за потвърждение. Ако това свойство е празно, използвайте стойността по подразбиране. Съобщенията по избор се отрязват, ако е необходимо, за да се поберат в диалоговия прозорец за потвърждение, така че дръжте съобщението най-много до няколко реда.
В браузър диалоговият прозорец за потвърждение може да покаже общо съобщение от браузъра.
Пример
Задайте свойството ConfirmExit на обекта Приложение на този израз:
AccountForm.Unsaved Or ContactForm.UnsavedДиалоговият прозорец се показва, ако потребителят промени данните в който и да е от двата формуляра и след това се опита да затвори приложението, без да запише тези промени.
Задайте свойството ConfirmExitMessage на обекта Приложение на тази формула:
If( AccountForm.Unsaved, "Accounts form has unsaved changes.", "Contacts form has unsaved changes." )Диалоговият прозорец показва съобщение, специфично за формуляра, когато потребителят промени данните във всеки от двата формуляра и след това се опита да затвори приложението, без да запише тези промени.
Свойство "Низ на връзка"
Използвайте свойството Низ на връзка , за да експортирате системните генерирани регистрационни файлове на приложения в "Прозрения на приложението".
За да зададете connection string:
- Отворете приложението си за редактиране Power Apps Studio.
- Изберете обекта Приложение в левия изглед на навигационното дърво.
- Въведете низа на връзката в екрана със свойства.
Ако не се изпращат данни до "Прозрения за приложения", се свържете с администратора на power Platform и проверете дали приложението "Прозрения" е забранено на ниво клиент.
Свойство на формули
Използвайте свойството Формули, за да дефинирате повторно използваема логика във вашето приложение. Свойството Formulas поддържа три конструкции:
- Наименувани формули – задайте име на формула и използвайте повторно стойността в приложението.
- Дефинирани от потребителя функции – наименувани формули, които приемат параметри и връщат стойност.
- Типове, дефинирани от потребителя – наименувани типове, които можете да използвате повторно във формули и подписи на функции.
Наименувани формули
Използвайте наименувани формули в свойството Формули , за да дефинирате формула, която можете да използвате повторно в цялото приложение.
В 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
Въпреки че този метод е по-добър, той също зависи от това OnStart да се изпълнява, преди да се установи стойността за BGColor. BGColor може също да бъде манипулиран в някой ъгъл на приложението, за който производителят не знае, промяна, направена от някой друг, и това може да бъде трудно да се проследи.
Именуваните формули предоставят алтернатива. Точно както обикновено пишете control-property = израз, можете вместо това да пишете име = израз и след това да използвате повторно име в цялото приложение, за да заместите израза. Дефинирайте тези формули в свойството Формули :
App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor
Предимствата от използването на именувани формули включват:
- Стойността на формулата е винаги налична. Няма зависимост от времето, няма OnStart, който трябва да се изпълни първо, преди стойността да бъде зададена, няма време, в което стойността на формулата да е неправилна. Именуваните формули могат да препращат една към друга в произволен ред, стига да не създават кръгова препратка. Те могат да се изчисляват паралелно.
- Стойността на формулата е винаги актуална. Формулата може да извърши изчисление, което зависи от свойствата на контролата или записите в базата данни, и когато те се променят, стойността на формулата се актуализира автоматично. Не е необходимо ръчно да актуализирате стойността, както правите с променлива. А формулите преизчисляват само когато е необходимо.
- Дефиницията на формулата е неизменна. Дефиницията във Формули е единственият източник на истина и стойността не може да бъде променена някъде другаде в приложението. При променливите някои кодове може неочаквано да променят стойност, но тази трудна за отстраняване на грешки ситуация не е възможна с наименувани формули.
- Изчислението на формулата може да бъде отложено. Тъй като стойността му е неизменна, тя винаги може да бъде изчислена, когато е необходимо, което означава, че не е необходимо да се изчислява, докато не е необходима. Стойностите на формулата, които не се използват, докато не се покаже screen2 на приложение, не е необходимо да се изчисляват, докато screen2 не е видим. Отлагането на тази работа може да подобри времето за зареждане на приложението. Именуваните формули са декларативни и предоставят възможности на системата да оптимизира как и кога се изчисляват.
- Наименуваните формули са концепция на 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 включва дълъг списък от вградени функции, като If, Text и Set. С помощта на дефинирани от потребителя функции можете да напишете свои собствени функции, които приемат параметри и връщат стойност, точно както вградените функции. Мислете за дефинираните от потребителя функции като разширение на наименувани формули, което добавя параметри и поддържа формули за поведение.
Например можете да дефинирате именувана формула, която връща художествени книги от библиотека:
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" )или филтрирате по други жанрове с помощта на една дефинирана от потребителя функция.
Синтаксисът е:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = формула;
- FunctionName – Задължително. Името на функцията, дефинирана от потребителя.
- ParameterNames – По избор. Името на параметър на функция.
- ParameterTypes – По избор. Името на тип – или вградено име на тип данни, име на източник на данни, или тип, дефиниран с помощта на функцията Type .
- ReturnType – Задължително. Типът на връщаната стойност от функцията.
- Формула – Задължително. Формулата, която изчислява стойността на функцията въз основа на параметрите.
Трябва да въведете всеки параметър и резултата от функцията, дефинирана от потребителя. В този пример определя първия параметър за функцията от тип "текст" и SelectedGenre е името на параметъра, SelectedGenre: Text който се използва в основния текст на операцията "Филтър". Вижте Типове данни за поддържаните имена на типове.
Функцията 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)
);
}
Сега можете да се обадите Spend( 12 ) , за да проверите дали имате 12 в "Спестявания", и ако е така, да го дебитирате с 12 и да добавите 12 към променливата "Изразходвани". Типът на връщане на тази функция е Void , тъй като не връща стойност.
Синтаксисът на дефинирана от потребителя функция на поведението е:
FunctionName( [ ParameterName1: ParameterType1 [, ParameterName2: ParameterType2 ... ] ] ) : ReturnType = { Формула1 [ ; Формула2 ... ] };
- FunctionName – Задължително. Името на функцията, дефинирана от потребителя.
- ParameterNames – По избор. Името на параметър на функция.
- ParameterTypes – По избор. Името на тип, вградено име на тип данни, име на източник на данни или тип, дефиниран с функцията Тип.
- ReturnType – Задължително. Типът на връщаната стойност от функцията. Използвайте Void , ако функцията не връща стойност.
- Формули – Задължително. Формулата, която изчислява стойността на функцията въз основа на параметрите.
Както при всички Power Fx формули, изпълнението не приключва при възникване на грешка. След извикването на функцията Errorфункцията If предотвратява извършването на промените в "Спестявания" и "Изразходвани". Функцията IfError може да се използва и за предотвратяване на по-нататъшно изпълнение след грешка. Въпреки че връща Void, формулата все още може да върне грешка, ако има проблем.
Дефинирани от потребителя типове
Използвайте наименувани формули с функцията Type , за да създавате дефинирани от потребителя типове. Използвайте := вместо = , за да дефинирате дефиниран от потребителя тип, например Book := Type( { Title: Text, Author: Text } ). Вижте функцията Type за повече информация и примери.
Свойство OnError
Използвайте OnError , за да предприемете действия, когато възникне грешка някъде в приложението. Тя предоставя глобална възможност да се прихване банер за грешка, преди да бъде показан на крайния потребител. Можете също да я използвате, за да регистрирате грешка с помощта на функцията Trace или да пишете в база данни или уеб услуга.
В приложенията за платно резултатът от всяка оценка на формула се проверява за грешка. Ако възникне грешка, OnError се изчислява със същите променливи за обхват FirstError и AllErrors, които приложението използва, ако цялата формула е пренесена във функция IfError.
Ако OnError е празен, банер за грешка по подразбиране показва FirstError.Съобщение за грешката. Дефинирането на формула onError замества това поведение, така че създателят да може да обработва съобщаването за грешки, ако е необходимо. Можете да поискате поведението по подразбиране в OnError, като възстановите грешката с помощта на функцията "Грешка". Използвайте подхода за преоразмеряване, ако искате да филтрирате или да се справите с някои грешки по различен начин, но да позволите на другите да преминат.
OnError не може да замени грешка в изчисленията по начина, по който IfError може. Ако OnError е извикан, грешката вече е възникнала и вече е обработена чрез изчисления във формули като IfError; OnError контролира само съобщаването за грешки.
Формулите onError се оценяват едновременно и е възможно оценката им да се припокрива с обработката на други грешки. Ако например зададете глобална променлива в горната част на OnError и я прочетете по-късно в същата формула, стойността може да се е променила. Използвайте функцията With за създаване на именувана стойност, която е локална за формулата.
Въпреки че OnError обработва всяка грешка поотделно, банерът за грешки по подразбиране може да не се показва за всяка грешка поотделно. За да избегнете показването на твърде много банери за грешки едновременно, един и същ банер за грешка не се показва отново, ако наскоро е бил показан.
Пример
Помислете за Label контрола и Slider контрола, които са свързани заедно чрез формулата:
Label1.Text = 1/Slider1.Value
Плъзгачът по подразбиране е 50. Ако преместите плъзгача на 0, "Етикет1" не показва стойност и се показва банер за грешка:
Нека да видим какво се случва подробно:
- Преместете плъзгача наляво и свойството Slider1.Value се променя на 0.
- Label1.Text автоматично се преоценява. Делението на нула възниква, като се генерира грешка.
- В тази формула няма IfError. Грешката при деление на нула се връща от оценката на формулата.
- Label1.Text не може да покаже нищо за тази грешка, така че показва празно състояние.
- Извиква се OnError . Тъй като няма манипулатор, стандартният банер за грешка се показва с информация за грешка.
Ако е необходимо, можете също да промените формулата Label1.Text = IfError( 1/Slider1.Value, 0 )на . Използването на IfError означава, че няма банер за грешка или грешка. Не можете да промените стойността на грешка от OnError , защото грешката вече е възникнала – OnError управлява само начина, по който се съобщава.
Ако добавите манипулатор на OnError , той не засяга стъпките преди стъпка 5, но променя начина, по който се съобщава за грешката:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" )
С този манипулатор на OnError потребителят на приложението не вижда грешка. Но грешката се добавя към проследяването на монитора, включително източника на информация за грешката от FirstError:
Ако искате да покажете банера за грешки по подразбиране заедно с проследяването, отменете грешката с помощта на функцията Error след повикването за проследяване , сякаш проследяването не е там:
Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )
Свойство OnStart
Бележка
Използването на свойството OnStart може да доведе до проблеми с производителността при зареждане на приложение. Помислете за тези алтернативи, преди да добавите логика към OnStart:
- За да кеширате данни или да настроите глобални променливи, използвайте наименувана формула в свойството Формули , където е възможно.
- За да настроите първия екран да се показва, използвайте свойството StartScreen вместо Навигация.
- За да изпълните логиката, когато се покаже определен екран, използвайте свойството OnVisible на екрана.
В зависимост от вашия контекст свойството OnStart може да е забранено по подразбиране. Ако не го виждате и трябва да го използвате, проверете Разширени настройки на приложението за превключвател, за да го разрешите.
Когато правилото onStart за блокиране е разрешено (по подразбиране), OnStart се изпълнява едновременно с други правила за приложения. В резултат:
- Променливите, инициализирани в OnStart, може да не са напълно инициализирани, когато други правила за приложения ги четат.
- Екранът може да се рендира и да стане интерактивен, преди App.OnStart или Screen.OnVisible да завърши изпълнението му, особено ако тези функции отнемат много време.
Свойството OnStart се стартира, когато потребителят стартира приложението. Използвайте това свойство за:
- Извличане и кеширане на данни в колекции с помощта на функцията "Събиране ".
- Настройте глобални променливи с помощта на функция Set.
Тази формула се изпълнява, преди да се покаже първият екран. Не се зарежда екран, така че не можете да задавате контекстни променливи с функцията UpdateContext. Можете обаче да предавате контекстни променливи с функцията Navigate (Навигиране ).
След като промените свойството OnStart , тествайте го, като посочите обекта на приложението в екрана Изглед на дърво , изберете многоточието (...) и след това изберете Изпълнение при стартиране. За разлика от случаите, когато приложението се зарежда за първи път, вече са зададени съществуващи колекции и променливи. За да започнете с празни колекции, използвайте функцията ClearCollect вместо функцията Collect.
Бележка
- Използването на функцията Навигация в свойството OnStart е оттеглено. Съществуващите приложения все още работят. За ограничен период от време можете да го разрешите в настройките на приложението (под Оттеглено). Но използването на Навигиране по този начин може да доведе до забавяне на зареждането на приложението, тъй като принуждава системата да завърши изпълнението на OnStart, преди да покаже първия екран. Вместо това използвайте свойството StartScreen , за да зададете първия показан екран.
- Оттегленият превключвател е изключен за приложения, създадени преди март 2021 г., където сте добавили Навигиране до OnStart между март 2021 г. и сега. Когато редактирате тези приложения в Power Apps Studio, виждате грешка. Включете оттегления превключвател, за да изчистите тази грешка.
Свойство StartScreen
Свойството StartScreen задава кой екран да се показва първи. Power Apps оценява това свойство веднъж, когато приложението се зарежда и връща обекта на екрана, за да се покаже. По подразбиране това свойство е празно и първият екран в изгледа Studio Tree се показва първи.
StartScreen е свойство на потока от данни, което не може да съдържа поведенчески функции. Всички функции за поток от данни са налични. Използвайте тези функции и сигнали, за да решите кой екран да се показва първо:
- Функция Param за четене на параметри, използвани за стартиране на приложението.
- Потребителска функция за четене на информация за текущия потребител.
- LookUp, Filter, CountRows, Max и други функции, които четат от източник на данни.
- API извиква чрез конектор. Уверете се, че повикването се връща бързо.
- Сигнали като Връзка, Компас, и Приложение.
Бележка
Глобалните променливи и колекции, включително тези, създадени в OnStart, не са налични в StartScreen. Налични са наименувани формули и често са по-добра алтернатива за повторна употреба на формули в приложението.
Ако StartScreen върне съобщение за грешка, първият екран в изгледа на дърво на студио се показва така, сякаш StartScreen не е зададен. Използвайте функцията IfError , за да откриете грешки и да пренасочите към екрана за грешки.
След като промените StartScreen в Studio, тествайте го, като посочите обекта на приложението в екрана Изглед на дърво , изберете многоточието (...) и след това изберете Навигиране до СтартЕкран. Екранът се променя все едно приложението току-що е заредено.
Примери
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
Използвайте свойството StudioVersion , за да покажете или регистрирате версията на Power Apps Studio, използвана за публикуване на приложение. Това свойство помага, когато отстранявате грешки и проверявате дали вашето приложение е препубликувано със скорошна версия на Power Apps Studio.
StudioVersion връща текст. Форматът на този текст може да се променя с течение на времето, така че го третирайте като цяло и не извличайте отделни части.