События
Чемпионат мира Power BI DataViz
14 февр., 16 - 31 мар., 16
С 4 шансами войти, вы можете выиграть пакет конференции и сделать его в LIVE Grand Finale в Лас-Вегасе
ПодробнееЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
При работе с действиями в Power Apps, для некоторых действий могут встречаться нетипизированные возвращаемые значения или значения входных данных. Раньше, в Power Apps игнорировались поля для нетипизированных или динамических входных данных, и они не были видны в выражениях PowerFX. Теперь вы можете работать непосредственно с этими полями. Раньше, когда возвращаемый тип был нетипизированным, Power Apps возвращал логическое значение. Теперь вместо этого он возвращает нетипизированный объект.
Примечание
Предположим, ваши выражения Power Fx зависят от логического значения, возвращаемого из этих функций. В этом случае вам придется переписать формулу и явно привести нетипизированный объект к логическому значению. Некоторые функции, такие как IfError, еще не полностью поддерживают нетипизированные объекты. Если ваше выражение содержит такую функцию, см. примечание в конце этой статьи для обходных путей.
Некоторые действия требуют использования нетипизированного объекта в качестве значения параметра. Если у вас есть запись Power Fx, вы можете преобразовать ее в нетипизированный объект, сделав ее пригодной для передачи в действие.
В приведенном ниже примере для действия слияния, доступного в таблице Dataverse Учетная запись требуется несколько нетипизированных аргументов. Для подготовки мы определим три переменные для хранения объектов TargetObject, SubordinateObject и UpdateContextObject. Мы начнем с назначения текстовой строке Microsoft.Dynamics.CRM.account переменной, которая будет повторно использоваться на протяжении всего примера.
Set (OdataType, “Microsoft.Dynamics.CRM.account”);
Затем для TargetObject назначается запись Power Fx со свойствами name, accountid и @odata.type. Аналогично назначаем записи Power Fx для объектов Subordinate и UpdateContext.
Set (TargetObject, {name: "Test 2", accountid: "145dc2ba-85a2-ed11-aado-0022482d76a5", '@odata.type': OdataType});
Set (SubordinateObject, {name: FirstRecord.’Account name’, accountid: FirstRecord.Account, ‘@odata.type’ : OdataType });
Set (UpdateContextObject, {telephone1: FirstRecord.’Main Phone’, address1_city: FirstRecord.’Address 1 : City’, ‘@odata.type’ : OdataType });
Далее мы создадим еще три переменные для хранения нетипизированных записей после преобразования: TargetUntypedObject, SubordinateUntypedObject и UpdateContextUntypedObject. Чтобы выполнить преобразование, мы будем использовать функцию ParseJSON(JSON()) для исходных переменных. Это действие преобразует записи Power Fx в нетипизированные объекты.
Set (TargetUntypedObject, ParseJSON(JSON(TargetObject)));
Set (SubordinateUntypedObject, ParseJSON(JSON(SubordinateObject)));
Set (UpdateContextUntypedObject, ParseJSON(JSON(UpdateContextObject)));
Наконец, мы вызываем действие слияния, передавая необходимые параметры, в том числе для нетипизированных, так и для типизированных объектов:
Environment.Merge({Target: TargetUntypedObject, Subordinate: SubordinateUntypedObject, UpdateContent: UpdateContextUntypedObject, PerformParentingChecks: false });
Если соединитель на основе Действия возвращает объект, к его свойствам можно получить доступ напрямую, независимо от того, назначен ли им тип. Однако, если вы собираетесь использовать свойство для определенной цели в Power Apps, например, для маркировки, вам нужно сначала выполнить его приведение.
В следующем примере функция httpRequest возвращает нетипизированный объект, который ранее был приведен как логическое значение.
Set (response, Office365Groups.HttpRequest("/v1.0/me", "GET", ""));
Одним из свойств в ответе является displayName. К нему можно получить доступ и выполнить его приведение с помощью выражения Power Fx следующим образом:
Text(response.displayName)
Выполните приведение к объекту Текст , чтобы использовать его в элементе управления "Подпись Power Apps".
Ответы для действий теперь захватывают динамические входные данные, и вы можете использовать метод, описанный выше, для доступа к этим свойствам. Дополнительно возможна работа с полями динамических входных данных.
Рассмотрим действие 'GetMessageDetails' в Microsoft Teams , имеющее параметр динамических входных данных текста. Ранее этот параметр нельзя было просматривать или указывать. После недавнего обновления вы можете установить переменную с именем 'body' с соответствующей структурой записи Power Fx.
Set ( body, ParseJSON(JSON( {recipient: { groupID: “7f733b36-7c7f-4f4c-9699-0a7b7a2b3897”, channelID: “19: 085d522328fb4a439220641006f7f25@thread.tacv2”}}));
Затем мы можем вызвать действие GetMessageDetails и назначить ответ переменной teamResponse.
Set (teamsResponse, MicrosoftTeams.GetMessageDetails ( 1661365068558, “channel”, body ));
Power Fx принимает ограниченное количество нетипизированных объектов, поэтому для вашей формулы может потребоваться явное преобразование. В частности, если ваша формула зависит от логического ответа, вам нужно будет выполнить преобразование. Если вам потребуется узнать, есть ли ошибка, вы можете использовать функцию IsError:
If(
IsError(Office365Outlook.CalendarDeleteItemV2("Calendar", 1)),
Notify("An Outlook appointment could not be found or could not be deleted")
)
Чтобы получить доступ к информации об ошибке, которая доступна только через IfError, вы должны преобразовать нетипизированный объект в допустимый тип с помощью функции преобразования, такой как "Логическое значение", "Текст" или "Значение". Эти функции будут выдавать ошибку, если они заданы. Это показано в следующем примере:
With({result: Office365Outlook.CalendarDeleteItemV2("Calendar", 1)},
If( IsError(result),
IfError(
Boolean(result), // any conversion function would do, such as Text, Value, …
Notify("An Outlook appointment could not be found or could not be deleted: " & FirstError.Message)
) ) )
События
Чемпионат мира Power BI DataViz
14 февр., 16 - 31 мар., 16
С 4 шансами войти, вы можете выиграть пакет конференции и сделать его в LIVE Grand Finale в Лас-Вегасе
ПодробнееОбучение
Схема обучения
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Сертификация
Продемонстрировать использование решений Microsoft Power Platform для упрощения, автоматизации и расширения бизнес-процессов для организаций в роли функционального консультанта.
Документация
Объект App в Power Apps - Power Platform
Справочные сведения об объекте App в Power Apps, включая описание синтаксиса и примеры.
Функция Choices - Power Platform
Справочные сведения о функции Choices, включая описание синтаксиса и примеры.
Функции SaveData, LoadData и ClearData - Power Platform
Справочные сведения о функциях SaveData, LoadData и ClearData, включая описание синтаксиса и примеры.