Microsoft Dataverse oraz poprawa doświadczenia w zakresie źródeł danych

Omówienie

W maju 2021 r. wiele funkcji, które były wcześniej opcjonalne, jest teraz zachowaniem domyślnym dla wszystkich nowych aplikacji. W tym artykule przedstawiono wskazówki dla użytkowników, którzy opracowali aplikację przed wprowadzeniem nowych funkcji, dotyczące uaktualniania aplikacji w celu wykorzystania najnowszych funkcji.

Natywne w Dataverse

Jeśli aplikacja na kanwie została utworzona za pomocą Dataverse lub łącznika Dynamics 365 connector, która znajduje się przed dniem listopada 2019, może nie być korzyści płynących z korzystania z obecnego sposobu obsługi połączeń macierzystych w Dataverse.

Jeśli aplikacja została utworzona przed listopadem 2019 Dataverse i nie jest tworzone połączenie macierzyste, w obszarze Ustawienia, na karcie Przyszłe funkcje w karcie „Wycofane źródło danych” znajdziesz opcję Usprawnij korzystanie z funkcji i widoków Microsoft Dataverse oraz opcję Relacyjne dane, opcje i inne nowe funkcje Microsoft Dataverse.

Jak mogę uaktualnić?

Uaktualnij aplikację, przeprowadzając inspekcję ustawień funkcji, a następnie wykonując następujące kroki:

Funkcja Dane relacyjne, zestawy opcji i inne nowe funkcje usługi Microsoft Dataverse jest wyłączona

Sprawdź sekcję Wycofane w obszarze Nadchodzące funkcje. Jeśli wartość funkcji to Wył., w pierwszym kroku konwersji postępuj zgodnie z poniższymi instrukcjami.

Jeśli w Ustawieniach ogólnych nie widzisz opcji Dane relacyjne, zestawy opcji i inne nowe funkcje dla Microsoft Dataverse lub jeśli jest ona już Włączona, pomiń poniższe kroki i przejdź do następnej sekcji.

  • Krok 1. Ustaw funkcję Użyj nazw wyświetlanych na Wł.:

    1. Ustaw funkcję Użyj nazw wyświetlanych na Wł.:
    2. Poczekaj, aż monitor kondycji zakończy analizowanie aplikacji.
    3. Zapisz, zamknij i ponownie otwórz aplikację.
    4. Napraw wszystkie błędy formuł.
    5. Zapisz, zamknij i ponownie otwórz aplikację.

    Możliwe błędy i sugestie:

    Możliwe jest, że niektóre nowo wyświetlone nazwy wyświetlane mogą kolidować z nazwami wyświetlanymi w innych tabelach, polach lub formantach. Na przykład możesz mieć kontrolkę i pole o tej samej nazwie. Aby rozwiązać problem, można zmienić nazwę kontrolki na unikatową wartość.

    W przypadku dowolnego pola i tabeli wyświetlana nazwa konfliktów można zobaczyć formułę oczekującą na tabelę, ale rozpoznawną lokalnie nazwę pola na poziomie lokalnym.

    Użyj kwadratowego kwadratu, który ma symbol @, aby wskazać zakres globalny, który można rozwiązać w tabeli; na przykład [@tableName].

  • Krok 2. Ustaw funkcje Dane relacyjne, zestawy opcji i inne nowe funkcje dla usługi Microsoft Dataverse i Użyj typów danych GUID zamiast ciągów na Wł.:

    1. Ustaw funkcję Dane relacyjne, zestawy opcji i inne nowe funkcje usługi Microsoft Dataverse na Wł.
    2. Ustaw funkcję Użyj typów danych GUID zamiast ciągów na Wł.
    3. Poczekaj, aż monitor kondycji zakończy analizowanie aplikacji.
    4. Napraw wszystkie błędy formuł.
    5. Zapisz, zamknij i ponownie otwórz aplikację.

    Możliwe błędy i sugestie:

    Na tym etapie mogą wystąpić błędy, jeśli jest użyciem pola wyboru lub wartości tekstowych identyfikatorów GUID na dysku twardym.

    • Wartości wyboru: jeśli używasz pola wyboru z identyfikatorem tekstowym wybranej wartości, użyj notacji kropki, aby odwoływać się do wartości wyboru. Na przykład zmień wartość Patch(Accounts, OptionSet1 = “12345”) na Patch(Accounts, OptionSet.Item1), gdzie pozycja Item1 odpowiada wartości 12345.
      Więcej informacji: Szczegółowe przykłady.
    • Identyfikatory GUID: jeśli używasz statycznego ciągu GUID, takiego jak 015e45e1044e49f388115be07f2ee116, przekonwertuj go na funkcję zwracającą obiekt GUID; na przykład GUID(“015e45e1044e49f388115be07f2ee116”).
    • Wyszukiwania: Jeśli używasz funkcji wyszukiwania, aby uzyskać wartości wyszukiwania pierwszego poziomu, takie jak Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), rozważ użycie ThisItem.PrimaryContacts (gdzie PrimaryContacts to nazwa tabeli ) zamiast.

Opcja Ulepsz środowisko źródła danych i widoki usługi Microsoft Dataverse została wyłączona

Aby ustawić funkcję Ulepsz środowisko źródła danych i widoki usługi Microsoft Dataverse na Wł., skorzystaj z poniższej instrukcji:

  1. Usuń istniejące połączenia źródła danych usługi Dataverse.
  2. Włącz funkcję Ulepsz środowisko źródła danych i widoki usługi Microsoft Dataverse.
  3. Dodaj połączenie usługi Dataverse, korzystając z nowego środowiska wybierania źródło danych.
  4. Zapisz aplikację.

Uwaga

Jeśli aplikacja jest bardzo duża, dodanie połączeń źródła danych z powrotem może potrwać pewien czas. Nie zamykaj aplikacji podczas tego procesu.

Konwertowanie aplikacji kanwy przy użyciu łącznika Dynamics 365 Connector

Aby przekonwertować aplikację korzystającą z łącznika Dynamics 365 Connector, należy usunąć połączenia i dodać je do źródeł danych. Wykonaj poniższe kroki, aby przekonwertować połączenia ze źródłami danych.

  1. Upewnij się, że funkcja Ulepsz środowisko źródła danych i widoki usługi Microsoft Dataverse została włączona.

  2. Usuń istniejące połączenia źródła danych rozwiązania Dynamics 365.

  3. Dodaj połączenia ze źródłami danych do usługi Dataverse przy użyciu nowego środowiska wybierania źródła danych.

    Uwaga

    • Jeśli masz połączenia z innymi środowiskami (innymi niż bieżący), wybierz kategorię Tabeli, a następnie opcję Więcej (...), aby zmienić środowisko. Następnie można wybrać tabelę z innego środowiska, które ma zostać dodaj do aplikacji. Krzyżowe połączenia z dzierżawą nie współpracują z udoskonalonym łącznikiem macierzystym. W celu uzyskania dostępu do krzyżowej dzierżawy danych musisz skorzystać z integracji danych.
    • Aby było możliwe wyświetlenie środowiska, do którego ma zostać dodane połączenie, konieczne jest spełnienie jednego z następujących wymagań:
      • Jesteś Właścicielem aplikacji lub Twoja aplikacja została udostępniona Tobie jako Współwłaścicielowi.
      • Użytkownik jest członkiem co najmniej jednej z następujących ról zabezpieczeń: Administrator środowiska, Kreator środowisk lub Administrator systemu. Aby uzyskać więcej informacji na temat ról zabezpieczeń w środowisku, wybierz opcję Konfigurowanie zabezpieczeń użytkownika do zasobów w środowisku.
  4. Zapisz aplikację.

Możliwe błędy i sugestie:

Podczas konwertowania mogą wystąpić błędy, jeśli: nie używasz nazw wyświetlanych, jeśli używasz ciągów GUID lub używasz wyboru.

  • W przypadku konfliktów nazw kontrolek zmień nazwę kontrolki na inną i unikatową.
  • W przypadku konfliktów nazw wyświetlanych pól i tabel może pojawić się formuła, która oczekuje tabeli, ale jest rozwiązywana do nazwy pola o bardziej lokalnym zasięgu. Użyj kwadratowego kwadratu, który ma symbol @, aby wskazać zakres globalny, który można rozwiązać w tabeli; na przykład [@tableName].
  • Wartości wyboru: jeśli używasz pola wyboru z identyfikatorem tekstowym wybranej wartości, użyj notacji kropki, aby odwoływać się do wartości wyboru. Na przykład zmień wartość Patch(Accounts, OptionSet1 = “12345”) na Patch(Accounts, OptionSet.Item1), gdzie pozycja Item1 odpowiada wartości 12345.
    Więcej informacji: Szczegółowe przykłady.
  • Identyfikatory GUID: jeśli używasz statycznego ciągu GUID, takiego jak 015e45e1044e49f388115be07f2ee116, przekonwertuj go na funkcję zwracającą obiekt GUID; na przykład GUID(“015e45e1044e49f388115be07f2ee116”).
  • Wyszukiwania: Jeśli używasz funkcji wyszukiwania, aby uzyskać wartości wyszukiwania pierwszego poziomu, takie jak Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), rozważ użycie ThisItem.PrimaryContacts (gdzie PrimaryContacts to nazwa tabeli ) zamiast.
  • Więcej informacji na temat odwołań polimorficznych znajduje się w poniższej sekcji Szczegółowe przykłady.

Szczegółowe przykłady

Konwersja aplikacji w celu użycia nowych zestawów opcji i dwóch typów danych opcji z formantami obsługi może być wyzwaniem podczas uaktualniania aplikacji w celu użycia nowej funkcji usprawniania źródło danych widoków Microsoft Dataverse.

Opcje wyboru

Wcześniej do wyboru były używane osobne pola _myfield i _myfield_label. Teraz istnieje jedno pole myfield, który może służyć zarówno do porównań niezależnych od ustawień regionalnych, jak i do uzyskania etykiety specyficznej dla ustawień regionalnych.

Usuwanie i dodawanie kart danych wyboru

Zalecamy usunięcie istniejących kart danych i dodanie ich z powrotem do wybranej aplikacji. Na przykład podczas pracy z tabelą Konto i rozwiązaniem Kategoria można sprawdzić, czy właściwość DataField karty danych została ustawiona na wartość _accountcategorycode_label. Na liście pól można sprawdzić, czy dana karta danych zawiera typ Ciąg:

Zestaw opcji OptionSet ze starą nazwą stylu.

Dzięki nowej funkcji Ulepszone środowisko źródła danych i widoki usługi Microsoft Dataverse element _accountcategorycode_label nie jest już widoczny. Zastąpiono go element accountcategorycode. Karta jest oznaczona teraz jako niestandardowa i zobaczysz komunikaty o błędach. Należy usunąć starą kartę danych i dodać ponownie kartę Wybór. Nowa karta danych obsługuje Wybór.

OptionSet z nową nazwą stylu.

Edytowanie syndykowania filtru wyboru w celu użycia nowej składni

Wcześniej, aby użyć wartości Wyboru w wyrażeniach filtrowanych, należy użyć pola Wartość. Na przykład:

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

Musisz edytować tę formułę. Identyfikator tekstu do wyboru nie jest już używany dla tej wartości. Wyrażenie to należy zaktualizować następująco:

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

„Kategoria (Konta)” to nazwa wyliczenia używanego w polu Kategoria tabeli Konta. Jest to wybór lokalny. Tutaj możesz przeczytać więcej informacji o lokalnych i globalnych możliwościach wyboru: opcje globalne.

Edytowanie instrukcji patch dostępnych do wyboru w celu użycia nowej składni

Poniżej podano przykład wcześniejszego oświadczenia Patch, który można wybrać:

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

Musisz zaktualizować te instrukcje, aby były zgodne z tym formularzem:

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

Wybór jednoznaczny

Jeśli wyświetlana nazwa wybranego pola i nazwa wybranego pola są takie same, należy rozdystrybować formułę. Aby kontynuować korzystanie z przykładu Kod kategorii kont, @ oznacza to użycie wyboru, a nie pola.

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

Dwie opcje

Usuwanie i dodawanie kart danych Tak/Nie

Usuń istniejące karty danych i dodaj je z powrotem, aby działały z Tak/Nie. Typy danych były wcześniej rozpoznawane jako prosta wartość logiczna, taka jak prawda/włączone i fałsz/wyłączone bez etykiet:

Tak/Nie — stary styl.

Dzięki nowej funkcji ulepszonego środowiska źródła danych i widoków usługi Microsoft Dataverse karta będzie teraz oznaczona jako niestandardowa i będą widoczne błędy. Należy usunąć starą kartę danych i dodać ponownie wybór. Po dodaniu będzie domyślnie widoczna kontrolka edycji zawierająca dwie opcje.

Tak/Nie — nowy styl.

Jeśli preferujesz przełącznik w polu wartości logicznej, możesz odblokować kartę danych i zastąpić kartę danych przełącznikiem. Te właściwości trzeba będzie również ustawić w obrębie przełącznika.

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 )

Przełącznik dwóch opcji.

Poprawianie instrukcji Patch dla dwóch opcji

Funkcja Patch z dwiema opcjami powinna działać „w stanie takim, w jakim jest”. Obsługuje ona bezpośrednie użycie wartości Prawda i Fałsz, podobnie do wartości logicznej. Jedyna różnica polega na tym, że po umieszczeniu wartości w kontrolce label wcześniej pokazywane były wyniki Prawda i Fałsz, a teraz będzie widoczna etykiet dwóch opcji.

Wyszukiwania polimorficzne

Poniższe wytyczne pomagają uaktualnić aplikację, jeśli odwołuje się ona do pól polimorficznych. W tym samym polu są ustawione odwołania do ograniczonego zestawu wielu tabel. Podobnie jak w innych językach odwołanie do rekordu jest wskaźnikiem do określonego rekordu w określonej tabeli. Odwołanie do rekordu przenosi informacje w tabeli, co pozwala wskazać rekord w różnych tabelach, różniących się od zwykłych danych wyszukiwania, które mogą wskazać tylko rekordy w jednej tabeli.

Uzyskiwanie dostępu, ustawianie i filtrowanie dla pola Właściciel w rekordzie

Na przykład pole Właściciel w tabeli może odwoływać się do rekordu w tabeli Użytkownicy lub Zespoły. To samo pole odnośnika w różnych rekordach może odwoływać się do rekordów w różnych tabelach.

Poliformiczne pole Właściciela.

Polimorficzne z funkcjami Filter i Patch

Odwołań do rekordów można używać tak samo jak pełnych rekordów:

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

Ponieważ odwołanie może wskazać różne tabele, należy określić konkretne. Nie możesz użyć ThisItem.Owner.Name, ponieważ pole nazwy w tabeli Zespołu to Nazwa zespołu, a pole nazwy w tabeli Użytkownik ma Pełna nazwa. Usługa Power Apps nie będzie wiedzieć, do jakiego typu wyszukiwania się odwołujesz, dopóki aplikacja nie zostanie uruchomiona.

Aby rozwiązać ten problem:

  1. Dodaj źródła danych dla typów encji, które może mieć pole Właściciel; w bieżącym przykładzie są to typy Użytkownicy i Zespoły.
  2. Więcej funkcji można użyć w celu wyczyszczenia jego zamiarów.

Istnieją dwie nowe funkcje, z których możesz skorzystać:

  • IsType — sprawdza, czy odwołanie do rekordu jest określonego typu tabeli.
  • AsType — Rzuca odwołanie do rekordu do określonego typu tabeli.

Dzięki tym funkcji można napisać formułę wyświetlacą nazwę właściciela pochodzi z dwóch pól o różnych nazwach, na podstawie typu tabeli właściciela:

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

Galeria z funkcją AsType.

Globalny operator ujednoznacznienia dla [@Teams] i [@Users] jest używany, aby upewnić się, że odwołujesz się do globalnego typu tabeli. Mimo że w tym przypadku nie jest to konieczne, zaleca się, aby instrukcje były zawsze jasne. Relacje jeden-do-wielu często powodują konflikt w zakresie rekordów galerii, a dzięki temu można uniknąć pomyłek.

Uzyskaj dostęp do pola Nazwa firmy (typ danych Klient) tabeli Kontakty i ustaw

Pole wyszukiwania Klient to kolejne wyszukiwanie polimorficzne, które jest bardzo podobne do pola Właściciel. Możesz mieć tylko jedno pole właściciela na tabelę. Ale tabela może zawierać zero, jedno lub więcej pól wyszukiwania klientów. Tabela systemowa Kontakty zawiera pole Nazwa firmy, które jest polem wyszukiwania Klient. Zapoznaj się z sekcją dotyczącą pokazywania pól klienta, aby uzyskać więcej szczegółowych informacji.

Uzyskaj dostęp i ustaw pole Dotyczy tabel aktywności, takich jak faksy, połączenia telefoniczne, wiadomości e-mail

Wyszukiwania polimorficzne nie są ograniczone do kont i kontaktów. Lista tabel jest rozszerzana za pomocą tabel niestandardowych. Na przykład tabela Faksy zawiera pole wyszukiwania Dotyczy, które może odwoływać się do pól Konta, Kontakty i inne tabele. W przypadku galerii ze źródłem danych ustawionym na Faksy można użyć poniższej formuły w celu wyświetlenia nazwy skojarzonej z polem wyszukiwania Dotyczy.

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',
   "" )

Galeria z polem Dotyczy.

Zapoznaj się z tematami Pola wyszukiwania Dotyczy i Relacje typu Dotyczy, aby uzyskać więcej szczegółowych informacji.

Uzyskiwanie dostępu do listy wszystkich działań dotyczących rekordu

W Dataverse tabele, takie jak Faksy, Zadania, E-maile, Notatki, Rozmowy telefoniczne, Listy i Czaty są oznaczone jako działania. Możesz także tworzyć własne niestandardowe tabele działań.

Można wyświetlać działania określonego typu (np. faksy lub podatki) oraz wszystkie działania skojarzone z tabelą, np. z kontem. Dodaj tabelę Działania i inne poszczególne tabele, których dane mają być wyświetlane w aplikacji kanwy.

Przy każdym dodaniu rekordu (na przykład tabeli Zadania) tworzony jest rekord w tabeli Działanie z polami wspólnymi dla wszystkich tabel działań. Przeczytaj tabelę działań, aby uzyskać więcej szczegółowych informacji.

W poniższym przykładzie pokazano, że podczas wybierania konta zostaną wyświetlone wszystkie działania skojarzone z tym kontem:

Działania polimorficzne.

Rekordy są wyświetlane w tabeli Działanie. Ale możesz nadal używać funkcji IsType w celu zidentyfikowania rodzaju działania. Ponownie, przed użyciem typu IsType do typu tabeli, należy dodać niezbędne źródło danych.

Stosując tę formułę, możesz wyświetlić typ rekordu w kontrolce etykiety w galerii:

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

Nowy polimorficzny typ IsType.

Uzyskiwanie dostępu do listy notatek dotyczących rekordu

Podczas tworzenia tabeli można włączyć załączniki. Jeśli zaznaczysz pole wyboru umożliwiające załączniki, w tabeli notatek zostanie utworzeniu relacji Dotyczy, jak pokazano na ilustracji w tabeli Konta:

Pole Notatki.

Filtrowanie

Nie można czytać ani filtrować w zależności od pola Dotyczy. Natomiast dostępna jest odwrotna relacja jeden-do-wielu dla encji Notatki. Aby utworzyć listę wszystkich notatek skojarzonych z tabelą Konto, można użyć następującego formuły:

First( Accounts ).Notes
Patch

Nie można ustawić pola Notatki w tabeli przy użyciu funkcji Patch. Aby dodać rekord do tabeli notatek tabeli, można użyć funkcji Relate. Najpierw utwórz notatkę, tak jak w poniższym przykładzie:

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

Następne kroki

Zobacz także

Co to jest usługa Dataverse?

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).