Поделиться через


Подключиться к Microsoft Dataverse

Вы можете безопасно хранить свои бизнес-данные в Dataverse и создавать богатые приложения в Power Apps, чтобы пользователи могли управлять этими данными. Вы также можете интегрировать эти данные в решения, которые включают Power Automate, Power BI и данные из Dynamics 365.

По умолчанию приложение подключается к текущей среде для таблиц Dataverse. Если ваше приложение перемещается в другую среду, соединитель подключается к данным в новой среде. Такое поведение подходит для приложения, которое предполагает использование одной среды, или приложения, которое следует процессу управления жизненным циклом приложений (ALM), т. е. переходит со стадии разработки на стадию тестирования и затем на стадию эксплуатации.

При добавлении данных из Dataverse вы можете изменить среду, а затем выбрать одну или несколько таблиц. По умолчанию приложение подключается к данным в текущей среде.

Среда по умолчанию.

Если вы выберете Изменить среду, вы можете указать другую среду для получения данных вместо текущей среды или в дополнение к ней.

Другие среды.

Имя выбранной среды отображается под списком таблиц.

Новые среды.

Видимость и доступ

Когда вы выбираете Изменить среду, вам будет представлен список сред. Хотя вы можете увидеть среду в списке, роли безопасности в среде определяют, что вы можете делать в этой среде. Например, если у вас нет прав на чтение, вы не сможете просматривать таблицы и записи в среде.

Заметка

Подключения, перечисленные в области сведений о приложении за пределами конструктора приложений, — это подключения, для которых требуется согласие пользователя. Поскольку собственные подключения Dataverse, используемые в приложении, не требуют этого дополнительного согласия, собственного подключения не будет в этом списке.

Сопоставления типов данных Power Apps

Соединитель Microsoft Dataverse более надежен, чем соединитель Dynamics 365 Connector, и приближается к равенству функций. В следующей таблице перечислены типы данных в Power Apps и способы их сопоставления с типами данных Dataverse.

Power Apps Microsoft Dataverse
Выбранный вариант Набор выбора, "Да/Нет"
Дата/время Дата/время, Дата и время, Только дата
Изображения Изображения
Число Число с плавающей точкой, валюта, десятичное число, длительность, язык, часовой пояс, целое число
Текст Электронная почта, многострочный текст, телефон, текст, текстовая область, символ тиккера, URL-адрес
GUID Уникальный идентификатор

Делегируемые функции и операции Power Apps для Dataverse

Эти операции Power Apps для данного типа данных могут быть делегированы Dataverse для обработки (а не для локальной обработки в Power Apps).

Позиция Число [1] Текст [2] Выбранный вариант Дата/время [3] GUID
<, <=, >, >= Да Да нет Да -
=, <> Да Да Да Да Да
И/ИЛИ/НЕ Да Да Да Да Да
CountRows [4] [5], CountIf [6] Да Да Да Да Да
Фильтр Да Да Да Да Да
First [7] Да Да Да Да Да
In (членство) [8] Да Да Да Да Да
В (substring) - Да - - -
IsBlank [9] Да Да нет Да Да
Подстановка Да Да Да Да Да
Поиск (Search) Нет Да Нет Нет -
Сортировать Да Да Да Да -
SortByColumns Да Да Да Да -
StartsWith - Да - - -
Sum, Min, Max, Avg [6] Да - - Нет -
  1. Числовые с арифметическими выражениями (например, Filter(table, field + 10 > 100)) не подлежат делегированию. Язык и часовой пояс не могут делегироваться. Приведение столбца к числу не поддерживается. Если значение отображается в виде числа в Power Apps, но внутренний источник данных не является простым числом, таким как валюта, оно не делегируется.
  2. Не поддерживает Trim[Ends] или Len. Поддерживает другие функции, такие как Left, Mid, Right, Upper, Lower, Replace, Substitute и т. д. Кроме того, приведение, такое как Text(столбец), не поддерживается для делегирования.
  3. DateTime можно делегировать, за исключением функций DateTime Now() и Today().
  4. CountRows в Dataverse использует кэшированное значение. Для некэшированных значений, где ожидается, что количество записей будет менее 50 000, используйте CountIf(table, True).
  5. Для CountRows убедитесь, что у пользователей есть соответствующие разрешения для получения итоговых значений для таблицы.
  6. Агрегатные функции ограничены коллекцией из 50 000 записей. При необходимости используйте функцию Filter, чтобы выбрать 50 000. Агрегатные функции не поддерживаются в представлениях.
  7. FirstN не поддерживается.
  8. In подпадает под ограничение в 15 запросов к таблице Dataverse.
  9. Поддерживает сравнения. Например: Filter(TableName, MyCol = Blank()).

Вызов действий Dataverse непосредственно из Power Fx

В рамках языка Power Fx авторы теперь могут напрямую вызывать действие Dataverse в формуле. Поддерживаются как несвязанные, так и связанные действия. Авторы могут добавить языковой объект Power Fx Environment для своего приложения и осуществлять доступ к действиям Dataverse.

Авторы могут работать с полями нетипизированных объектов как для входных, так и для выходных данных. На стороне входных данных, например, многие действия Dataverse требуют нетипизированный объект в качестве аргумента. Теперь авторы могут передавать эти аргументы, используя ParseJSON для преобразования записи Power Fx в нетипизированный объект. На стороне выходных данных для действий, которые возвращают нетипизированные объекты, вы можете просто dot в свойства возвращаемых объектов. Вам нужно будет приводить определенные значения для использования в определенных контекстах для использования в Power Apps, например подписи.

Без этой функции авторы обычно использовали Power Automate, чтобы вызывать Dataverse напрямую. Однако вызов Dataverse непосредственно из Power Fx обеспечивает значительные преимущества по производительности (и простоте использования) и должен быть предпочтительным вариантом для прямого чтения и обновления транзакций. Если у вас есть приложение, которое использует Power Automate для вызова действий Dataverse, вы увидите баннер с предложением использовать этот прямой подход с действием.

Работа с нетипизированными полями не ограничивается в Dataverse. Он работает для всех типов соединителей и обеспечивает базовую поддержку специальной динамической схемы.

Заметка

  1. Мы не полностью поддерживаем действия DV в командах Power Fx (специфично для любых действий, вызываемых с параметрами.)
  2. Мы не поддерживаем прямые ссылки на "Сущность" или "Коллекции сущностей".
  3. Для параметров типа объекта, которые являются вложенными (глубиной 2 или более уровней), атрибуты второго уровня обрабатываются обязательно в PowerApps.

Включение доступа к действиям Microsoft Dataverse

Для новых приложений данная функция включена автоматически. Для приложений, созданных ранее, вам нужно будет включить доступ к действиям Dataverse.

Для более старых приложений откройте приложение на основе холста для редактирования и перейдите в раздел Настройки>Будущие функции>Поддержка прекращена и включите действия Dataverse.

Добавление объекта "Язык среды" Power Fx в приложение

Чтобы использовать действия Dataverse в формулах Power Fx, выберите Добавить данные и выполните поиск Среды и добавьте ее в свое приложение.

Поиск объекта среды Power Fx.

Добавится языковой объект Power Fx Environment в ваше приложение.

Объект среды Power Fx в качестве источника данных.

Доступ к действиям Dataverse

Когда объект Power Fx Environment будет добавлен в ваше приложение, вы сможете получить доступ к действиям Dataverse, добавив Environment к своей формуле, а затем поставив точки для действий.

Использование объекта среды Power Fx.

Несвязанные действия Dataverse находятся на одном уровне с таблицами, и для них требуется родительская область языкового объекта Среда. Доступны все действия в вашей среде — как на системном уровне, так и настраиваемые. Доступны как несвязанные, так и связанные действия. Удален 2-х уровневый лимит вызовов.

Использование действия Dataverse.

Дополнительные сведения о том, как использовать действия Dataverse в формулах, см. в разделе Работа с нетипизированными и динамическими объектами.

Передача аргументов типа Entity для связанных/несвязанных действий

Чтобы передать аргументы типа "entity" для действий Dataverse, начните с задания значения аргумента типа "entity" для переменной. Кроме того, убедитесь, что все пропущенные значения, такие как *activityId, заполнены. Это особенно важно для сущностей, которые не имеют определенных типов в Swagger.

Set(MyArgVar, {
  name: first(systemUser).name, 
  Id: First(systemUser).Id 
  ... })

Переименование, обновление и действия в других средах

Вы можете переименовать среду, выбрав многоточие и нажав «Переименовать». Если вы добавите новое действие Dataverse в Dataverse и вам требуется, чтобы решение Power Apps видело его, вы можете выбрать «Обновить». Если вам нужно использовать действие в другой среде, вам сначала необходимо изменить среду, а затем, оказавшись там, найти «Среду», выбрать и добавить ее в свое приложение.