Microsoft Dataverse та вдосконалення роботи з джерелом даних

Примітка

Програма для мобільних пристроїв Power Apps на платформі Windows підтримує успадкований з’єднувач Microsoft Dataverse без необхідності оновлення цього з’єднувача.

Зведення

Якщо ви створили компоновані програму, використовуючи з’єднувач Dataverse або Dynamics 365, до листопада 2019 року, можливо, ви не використовуєте усі переваги, доступні у поточній версії штатного підключення до Dataverse. У цій статті описано переваги використання нового підключення, а також процедуру переходу із застарілого з’єднувача Dataverse або Dynamics 365 до поточної штатної версії підключення, яка має можливості вдосконаленої взаємодії із джерелами даних та поданнями Microsoft Dataverse.

Параметр Покращити джерело даних досвід і Microsoft Dataverse подання має такі переваги:

  1. Значний виграш у швидкості.
  2. Підвищена надійність.
  3. Доступ до подань і атрибутів полів файлів і зображень Dataverse.

Параметр Покращення роботи з джерелами даних і поданнями Microsoft Dataverse відображається в розділі «Загальні параметри».

Покращення роботи з джерелами даних і поданнями Microsoft Dataverse.

Параметр Реляційні дані, варіанти вибору та інші нові функції для Microsoft Dataverse тепер відображається в розділі «Вилучені функції».

Як мені оновитися?

Оновіть програму, спочатку вивчивши параметри функцій, а потім виконуючи наведені нижче кроки.

Удоскональте роботу із джерелом даних і подання Microsoft Dataverse увімкнуто.

Ви вже змінили свою компоновану програму для використання цієї функції, або почали нову програму із цією функцією, увімкнутою за замовчуванням. Жодних подальших дій не потрібно.

Крім того, ви можете увімкнути функцію Явний вибір стовпця.

Явний вибір стовпця.

Примітка

  • Функція Удоскональте роботу із джерелом даних і подання Microsoft Dataverse не підтримується у Power Apps для Windows. Цю функцію необхідно вимкнути, коли ви використовуєте Power Apps для Windows.
  • Коли цю функцію Вимкнуто, ви побачите наведене далі повідомлення. Ви можете ігнорувати це повідомлення при використанні програми для мобільних пристроїв Power Apps для платформи Windows.
    This app is using a connector for the Microsoft Dataverse or Dynamics 365 that will not be supported past Oct 1, 2020.

Реляційні дані, набори параметрів та інші нові функції Microsoft Dataverse вимкнуто.

Перевірте розділ Списано в Запланованих функціях. Якщо там встановлено вимкнуто, продовжуйте виконання зазначених нижче вказівок в якості першого кроку для перетворення.

Важливо

Якщо в Загальних настройках не відображається пункт Реляційні дані, набори параметрів та інші нові функції для Microsoft Dataverse, або якщо цей параметр вже Увімкнуто, пропустіть наступні кроки та переходьте до наступного розділу.

  • Крок 1: увімкніть функцію Використання коротких імен.

    1. Увімкніть функцію Використання коротких імен.
    2. Дочекайтеся, поки засіб моніторингу справності завершить аналіз програми.
    3. Збережіть, закрийте та знов відкрийте вашу програму.
    4. Усуньте всі помилки формул.
    5. Збережіть, закрийте та знов відкрийте вашу програму.

    Можливі помилки та пропозиції.

    Може статися, що деякі з нових коротких імен, що відображаються, конфліктуватимуть із короткими іменами інших таблиць, полів або елементів керування. Наприклад, у вас може бути елемент керування і поле з однаковими іменами. Можна замінити ім'я елемента керування на унікальне, щоб виправити ситуацію.

    При виникненні будь-яких конфліктів між короткими іменами полів чи таблиць можна побачити формулу, де очікується таблиця, але в результаті отримується ім’я поля з локальної області застосування.

    Для того, щоб позначити глобальну область застосування і отримати в результаті таблицю, використовуйте квадратні дужки із символом @, наприклад, [@tableName].

  • Крок 2 : увімкніть Реляційні дані, набори параметрів та інші нові функції Microsoft Dataverse і Використовувати типи даних GUID замість рядків.

    1. Увімкніть Реляційні дані, набори параметрів та інші нові функції Microsoft Dataverse.
    2. Увімкніть функцію Використовувати типи даних GUID замість рядків.
    3. Дочекайтеся, поки засіб моніторингу справності завершить аналіз програми.
    4. Усуньте всі помилки формул.
    5. Збережіть, закрийте та знов відкрийте вашу програму.

    Можливі помилки та пропозиції.

    На цій стадії можливі помилки, якщо використовується поле вибору або жорстко прописані в коді значення GUID.

    • Значення вибору: якщо використовується поле вибору із текстовим ідентифікатором в якості значення вибору, замість посилання на значення вибору використовуйте запис із крапкою. Наприклад, замініть Patch(Accounts, OptionSet1 = “12345”) на Patch(Accounts, OptionSet.Item1), де Item1 відповідає значенню 12345.
      Докладніше див. у розділі: Детальні приклади.
    • Ідентифікатори GUID: якщо використовується статичний рядок GUID, наприклад, 015e45e1044e49f388115be07f2ee116, перетворіть його на функцію, яка повертає об'єкт GUID; наприклад GUID(“015e45e1044e49f388115be07f2ee116”).
    • Підстановки: якщо для отримання значень підстановки першого рівня використовуються функції «Lookup», наприклад, Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), розгляньте можливість використання натомість ThisItem.PrimaryContacts (де PrimaryContacts — це ім'я таблиці).

Вдосконалити роботу із джерелом даних і поданнями Microsoft Dataverse вимкнуто.

Скористайтеся наведеною нижче інструкцією, щоб увімкнути Вдосконалити роботу із джерелом даних і поданнями Microsoft Dataverse.

  1. Видаліть наявні підключення джерела даних Dataverse.
  2. Увімкніть функцію Вдосконалити роботу із джерелом даних та поданнями Microsoft Dataverse.
  3. Додайте підключення Dataverse, використовуючи інтерфейс вибору нового джерела даних.
  4. Збережіть програму.

Примітка

Якщо ваша програма дуже велика, для додавання джерела даних може знадобитися деякий час. Не закривайте програму, доки процес триває.

Перетворення компонованих програм із з’єднувачем Dynamics 365

Щоб перетворити програму, яка використовує з'єднувач Dynamics 365, потрібно буде видалити та додати підключення до ваших джерел даних. Виконайте зазначені нижче кроки, щоб перетворити підключення до джерел даних.

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

  2. Видаліть наявні підключення до джерела даних Dynamics 365.

  3. Додайте підключення до ваших джерел даних до Dataverse, використовуючи новий інтерфейс вибору джерела даних.

    Примітка

    • Якщо ви використовуєте підключення до інших середовищ (відмінних від поточного), виберіть категорію Таблиця, а тоді пункт Додатково (...), щоб змінити середовище. Так ви зможете вибрати таблицю з іншого середовища і додати її до програми. Підключення між різними клієнтами не працюють із покращеним штатним з’єднувачем. Щоб отримати доступ до даних з іншого клієнта, доведеться використовувати інтеграцію даних.
    • Щоб мати змогу переглянути середовище, до якого необхідно додати підключення, необхідно виконати одну з зазначених нижче вимог.
  4. Збережіть програму.

Можливі помилки та пропозиції.

При перетворенні помилки можуть виникати за таких умов: якщо ви не використовуєте короткі імена, якщо ви використовуєте рядки GUID або якщо ви використовуєте вибір.

  • Якщо імена елементів керування конфліктують між собою, змініть ім'я елемента керування, щоб воно відрізнялося і було унікальним.
  • При виникненні конфлікту між короткими іменами полів чи таблиць можна побачити формулу, де очікується таблиця, але в результаті отримує ім’я поля з більш локальної області застосування. Для того, щоб позначити глобальну область застосування і отримати в результаті таблицю, використовуйте квадратні дужки із символом @, наприклад, [@tableName].
  • Значення вибору: якщо використовується поле вибору із текстовим ідентифікатором в якості значення вибору, замість посилання на значення вибору використовуйте запис із крапкою. Наприклад, замініть Patch(Accounts, OptionSet1 = “12345”) на Patch(Accounts, OptionSet.Item1), де Item1 відповідає значенню 12345.
    Докладніше див. у розділі: Детальні приклади.
  • Ідентифікатори GUID: якщо використовується статичний рядок GUID, наприклад, 015e45e1044e49f388115be07f2ee116, перетворіть його на функцію, яка повертає об'єкт GUID; наприклад GUID(“015e45e1044e49f388115be07f2ee116”).
  • Підстановки: якщо для отримання значень підстановки першого рівня використовуються функції «Lookup», наприклад, Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), розгляньте можливість використання натомість ThisItem.PrimaryContacts (де PrimaryContacts — це ім'я таблиці).
  • Для будь-яких поліморфних посилань див. розділ «Докладні приклади» нижче.

Докладні приклади

Перетворення програми із використанням нових типів даних Набори параметрів та Два варіанти і відповідних елементів керування під час оновлення програми для використання нової функції Покращення роботи з джерелами даних і поданнями Microsoft Dataverse може виявитись непростим завданням.

Набір параметрів з множинним вибором

Для вибору раніше використовувалися окремі поля _myfield та _myfield_label. Тепер є один елемент myfield, який можна використовувати як для незалежного від місця порівняння, так і для отримання конкретного для місця надпису.

Видалення та додавання карток даних виборів

Рекомендуємо видалити наявні картки даних і додати їх знову, щоб вони запрацювали із вибором. Наприклад, якщо ви працюєте з таблицею «Бізнес-партнер» і вибором «Категорія», можна помітити, що значення властивості картки даних DataField задано як _accountcategorycode_label. У списку полів ви побачите, що картка даних має тип Рядок.

Набір параметрів зі старим стилем імені.

Якщо використовується нова функція Вдосконалити роботу із джерелом даних і поданнями Microsoft Dataverse, _accountcategorycode_label більше не відображається. Це значення замінено на accountcategorycode. Тепер ваша картка буде позначена як настроювана, і ви бачитимете помилки. Видаліть стару картку даних, а тоді знову додайте Вибір. Нова картка даних вже буде враховувати Вибір.

Набір параметрів із новим стилем імені.

Редагування виразів фільтра вибору із використанням нового синтаксису

Раніше для використання значення вибору у виразі фільтра потрібно було використовувати поле Значення. Наприклад:

Filter(Account,'Category Value' = "1")

Цю формулу доведеться відредагувати. Для значення більше не використовується текстовий ідентифікатор вибору. Цей вираз слід оновити до такого:

Filter(Account, Category= ‘Category (Accounts)’.’Preferred Customer’)

'Category(Accounts)' («Категорія(Бізнес-партнери)») — ім'я переліку, що використовується в полі «Категорія» таблиці «Бізнес-партнери». Це локальний вибір. Докладніше про локальний і глобальний вибір можна дізнатися тут: Глобальні вибори.

Редагування виразів patch виборів для використання нового синтаксису

Нижче наведено приклад того, як виглядав вираз Patch для вибору раніше.

Patch( Accounts, First(Accounts), { ‘Category Value’: 1 } ) )

Щоб додержуватись цієї форми, доведеться оновити оператори.

Patch( Accounts, First(Accounts), { Category: ‘Category (Accounts)’.’Preferred Customer’ } )

Усунення неоднозначності вибору

Якщо коротке ім'я поля вибору та ім’я вибору збігаються, у формулі потрібно буде усунути неоднозначність. Якщо продовжити використовувати приклад коду для категорії «Бізнес-партнери», із @ потрібно зазначати вибір, а не поле.

Filter(Accounts, 'Category Code' = [@’Category Code’].'Preferred Customer')

Два параметри

Видалення та додавання карток даних Так/ні

Видаліть наявні картки даних і додайте їх знову, щоб вони запрацювали із елементом «Так/ні». Раніше ці типи даних розглядалися, як прості логічні значення, такі як істина/увімкнено і хибність/вимкнуто без підписів.

Так/Ні — старий стиль.

Якщо використовується нова функція Вдосконалити роботу із джерелом даних і поданнями Microsoft Dataverse, ваша картка тепер позначатиметься як настроювана, і ви бачитимете помилки. Видаліть стару картку даних, а тоді знову додайте вибір. Після додавання ви за замовчуванням побачите елемент керування для редагування із двома доступними варіантами вибору.

Так/Ні — новий стиль.

Якщо ви вважаєте більш доречним використовувати перемикач для поля із логічним значенням, ви можете розблокувати картку даних та замінити елемент керування у ній на перемикач. Крім того, вам доведеться задати перелічені нижче властивості для перемикача.

Toggle1.Default = ThisItem.’Do not allow Bulk Emails’
Toggle1.TrueText = ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’
Toggle1.FalseText = ‘Do not allow Bulk Emails (Accounts)’.Allow
DataCard.Value = If( Toggle1.Value,
    ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’,
    ‘Do not allow Bulk Emails (Accounts)’.Allow )

Перемикач із двома значеннями.

Уточнення операторів Patch для двох параметрів

Функція Patch для елемента «Два параметри» має працювати «як є». Вона підтримує пряме використання True і False, подібно до логічного типу. Єдина відмінність полягає в тому, що, якщо ви раніше внесли значення до текстового підпису, щоб відображати True або False, тепер у ньому відображатимуться підписи елементу «Два параметри».

Поліморфні підстановки

Нижче наведено рекомендації щодо оновлення програми, якщо у ній використовувалися посилання на поліморфні поля. Поліморфні підстановки в одному полі дозволяють посилатися на обмежений набір кількох таблиць. Так само, як і посилання в інших мовах, посилання на запис — це вказівник на певний запис у певній таблиці. Посилання на запис містить відомості про таблицю, що дає змогу вказувати на записи у кількох інших таблицях, і це відрізняє посилання від звичайних підстановок, які можуть вказувати лише на записи з однієї таблиці.

Access, Set і Filter для поля «Відповідальний» запису

Наприклад, поле Відповідальний у таблиці може посилатися на запис у таблиці Користувачі або у таблиці Робочі групи. Таке саме поле підстановки в різних записах може посилатися на записи в інших таблицях.

Поліморфне поле «Відповідальний».

Поліморфне поле та Filter і Patch

Посилання на запис можна використовувати так само, як повні записи.

Filter( Accounts, Owner = First( Teams ) )
Patch( Accounts, First( Accounts ), { Owner: First( Users ) })

Оскільки посилання може вказувати на різні таблиці, необхідно точно вказувати об’єкти. Використовувати запис ThisItem.Owner.Name не можна, адже поле імені в таблиці Робоча група — це Ім’я робочої групи, а поле імені в таблиці Користувач — Повне ім'я. Power Apps не знатиме, на підстановку якого типу ви посилаєтесь, доки програму не буде запущено.

Щоб виправити цю проблему:

  1. Додайте джерела даних для типів сутностей, які може приймати «Відповідальний» (у поточному прикладі, «Користувачі» та «Робочі групи»).
  2. Щоб ваш намір став ясним, скористайтеся додатковими функціями.

З’явилося дві нові функції, якими можна скористатися.

  • IsType — перевіряє, чи належить посилання на запис до певного типу таблиці.
  • AsType — змінює посилання на запис на певний тип таблиці.

За допомогою цих функцій можна створити формулу, яка відображає ім'я відповідального, що надходить з двох полів із різними іменами, залежно від типу таблиці «Відповідального»:

If( IsType( ThisItem.Owner,  [@Teams]), 
    AsType( ThisItem.Owner, [@Teams]).'Team Name', 
    AsType( ThisItem.Owner, [@Users]).'Full Name' )

Галерея та AsType.

Глобальний оператор усунення неоднозначності для [@Teams] і [@Users] використовується, щоб гарантувати, що ви посилаєтесь на глобальний тип таблиці. Незважаючи на те, що у даному випадку це не є необхідним, рекомендуємо завжди точно й чітко позначати наміри. Зв'язки один-до-багатьох в області застосування записів колекції часто можуть призводити до конфліктів, а ця практика дозволить уникнути подібної плутанини.

Зчитування та встановлення поля «Назва компанії» (тип даних «Клієнт») в таблиці «Контактні особи»

Поле підстановки «Клієнт» — це ще одна поліморфна підстановка, схожа на підстановку «Відповідальний». У кожній таблиці може бути тільки одне поле «Відповідальний». Але полів підстановки «Клієнт» у таблиці може бути декілька, одне або ж зовсім не бути. Системна таблиця «Контактні особи» містить поле «Назва компанії», що є полем підстановки «Клієнт». Прочитайте відображення полів клієнта для отримання додаткових відомостей.

Зчитування та встановлення поля «Стосовно» таблиць справ, таких як «Факси», «Виклики», «Повідомлення електронної пошти»

Існують й інші поліморфні підстановки, не лише «Бізнес-партнери» або «Контактні особи». До цього списку можна додати й настроювані таблиці. Наприклад, таблиця «Факси» містить поле підстановки «Стосовно», що може посилатися на таблиці «Бізнес-партнери», «Контактні особи» та інші. Якщо у колекції джерело даних зазначено як «Факси», можна відобразити ім’я, пов’язане із полем підстановки «Стосовно», за допомогою наведеної нижче формули.

If( IsBlank( ThisItem.Regarding ), "",
   IsType( ThisItem.Regarding, [@Accounts] ),
       "Account: " & AsType( ThisItem.Regarding, [@Accounts] ).'Account Name',
   IsType( ThisItem.Regarding, [@Contacts] ),
       "Contacts: " & AsType( ThisItem.Regarding, [@Contacts] ).'Full Name',
   "" )

Галерея та поле підстановки «Стосовно».

Ознайомтеся з розділами Поля підстановки Стосовно та Зв’язки Стосовно для отримання додаткових відомостей.

Доступ до списку всіх Справ для запису

У Dataverse такі таблиці, як «Факси», «Завдання», «Повідомлення електронної пошти», «Примітки», «Виклики», «Листи» та «Чати», визначаються як справи. Ви також можете створювати власні таблиці справ.

Можна переглядати справи певного типу (наприклад, «Факси» чи «Податки»), або всі справи, пов'язані з таблицею, наприклад, із бізнес-партнером. Додайте таблицю «Справи» та інші окремі таблиці, дані яких ви плануєте відображати в компонованій програмі.

Щоразу під час додавання запису до (наприклад, таблиці «Завдання»), у таблиці «Справи» створюється запис з полями, які є загальними для всіх таблиць справ. Докладні відомості ви можете знайти тут: Таблиця справ.

У наведеному нижче прикладі, якщо ви виберете бізнес-партнера, відобразяться усі пов’язані з цим бізнес-партнером справи.

Поліморфні справи.

Записи відображаються з таблиці «Справи». Але ви можете скористатися функцією IsType, щоб визначити, до справи якого типу вони належать. Знову ж таки, перш ніж використовувати IsType із певним типом таблиці, необхідно додати відповідне джерело даних.

За допомогою наведеної нижче формули можна показати тип запису в елементі керування «Текстовий підпис» в колекції.

If( IsType( ThisItem, [@Faxes] ), "Fax",
   IsType( ThisItem, [@'Phone Calls'] ), "Phone Call",
   IsType( ThisItem, [@'Email Messages'] ), "Email Message",
   IsType( ThisItem, [@Chats] ), "Chat",
   "Unknown")

Нова поліморфна функція IsType.

Доступ до списку всіх Приміток для запису

При створенні таблиці можна дозволити вкладення. Якщо встановити прапорець, що вмикає вкладення, буде створено зв'язок «Стосовно» із таблицею «Примітки», як показано на рисунку нижче для таблиці «Бізнес-партнери».

Поле «Примітки».

Фільтрування

Не можна зчитувати або фільтрувати за полем «Стосовно». Проте доступні зворотні зв'язки Приміток «один-до-багатьох». Щоб вивести список усіх приміток, зв'язаних із таблицею «Бізнес-партнер», можна скористатися наведеною нижче формулою.

First( Accounts ).Notes
Patch

За допомогою функції Patch поле «Примітки» в таблиці задавати не можна. Щоб додати запис до таблиці приміток для певної таблиці, скористайтеся функцією Relate. Спочатку створіть примітку, як у наведеному прикладі.

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note", isdocument:'Is Document (Notes)'.No } ) )

Наступні кроки

Статті за темою:

Що таке Dataverse?

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).