Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przegląd
W maju 2021 r. wiele funkcji, które były wcześniej opcjonalne, jest teraz domyślnym zachowaniem dla wszystkich nowych aplikacji. Ten artykuł zawiera wskazówki dla użytkowników, którzy opracowali aplikację przed wprowadzeniem nowych funkcji, na temat sposobu uaktualniania aplikacji w celu korzystania z najnowszych funkcji.
Natywna usługa Dataverse
Jeśli utworzyłeś aplikację kanwy z łącznikiem Dataverse lub Dynamics 365 przed listopadem 2019 r., być może nie skorzystasz z obecnego natywnego rozwiązania połączenia dla Dataverse.
Jeśli utworzyłeś aplikację przed listopadem 2019 r. i nie używasz natywnego połączenia usługi Dataverse, to na karcie Ustawienia, w zakładce Nadchodzące funkcje, w zakładce 'Wycofano' znajdziesz opcje Ulepszanie środowiska źródła danych i widoków usługi Microsoft Dataverse oraz dane relacyjne, opcje i inne nowe funkcje dla usługi Microsoft Dataverse.
Jak mogę uaktualnić?
Uaktualnij aplikację, sprawdzając ustawienia funkcji, a następnie postępując zgodnie z poniższymi instrukcjami:
Dane relacyjne, zestawy opcji i inne nowe funkcje dla usługi Microsoft Dataverse są wyłączone
Zapoznaj się z sekcją Wycofane w sekcji Nadchodzące funkcje. Jeśli jest ustawiona wartość Wyłączone, postępuj zgodnie z poniższymi instrukcjami jako pierwszy krok w konwersji.
Jeśli nie widzisz danych relacyjnych, zestawów opcji i innych nowych funkcji usługi Microsoft Dataverse w ustawieniach ogólnych lub jeśli są już włączone, pomiń poniższe kroki i przejdź do następnej sekcji.
Krok 1: Włącz funkcję Użyj nazw wyświetlanychWłącz:
- Włącz funkcję Używanie nazw wyświetlanychWłącz.
- Poczekaj na zakończenie analizowania aplikacji przez monitor kondycji.
- Zapisz, zamknij i otwórz ponownie aplikację.
- Rozwiąż wszystkie błędy formuły.
- Zapisz, zamknij i otwórz ponownie aplikację.
Możliwe błędy i sugestie:
Możliwe, że niektóre z nowo wyświetlonych nazw wyświetlanych mogą powodować konflikt z nazwami wyświetlanymi dla innych tabel, pól lub kontrolek. Na przykład może istnieć kontrolka i pole o tej samej nazwie. Możesz zmienić nazwę kontrolki na unikatową wartość, aby naprawić.
W przypadku dowolnego konfliktu nazwy wyświetlanej pola i tabeli, może zostać wyświetlona formuła, która oczekuje tabeli, ale odnosi się do nazwy pola z lokalnym zakresem.
Użyj nawiasu kwadratowego z symbolem @, aby wskazać zakres globalny, aby odwołać się do tabeli, na przykład [@tableName].
Krok 2. Włącz dane relacyjne, zestawy opcji i inne nowe funkcje dla usługi Microsoft Dataverse i Użyj typów danych GUID zamiast funkcji ciągówWłączone:
- Włącz funkcjęDane relacyjne, zestawy opcji i inne nowe możliwości w Microsoft Dataverse.
- Włącz opcję Użyj typów danych GUID zamiast ciągów znakówOn.
- Poczekaj na zakończenie analizowania aplikacji przez monitor kondycji.
- Rozwiąż wszystkie błędy formuły.
- Zapisz, zamknij i otwórz ponownie aplikację.
Możliwe błędy i sugestie:
Na tym etapie mogą wystąpić błędy, jeśli używasz pola wyboru lub trwale zakodowanych wartości tekstowych identyfikatora GUID.
-
Wartości wyboru: jeśli używasz pola wyboru z identyfikatorem tekstowym dla wartości wyboru, użyj notacji kropkowej, aby odwołać się do wartości wyboru. Na przykład zmień
Patch(Accounts, OptionSet1 = “12345”)wartość naPatch(Accounts, OptionSet.Item1)gdzieItem1odpowiada12345wartości.
Więcej informacji: Szczegółowe przykłady. -
Identyfikatory GUID: jeśli używasz statycznego ciągu identyfikatora GUID, takiego jak
015e45e1044e49f388115be07f2ee116, przekonwertuj go na funkcję zwracającą obiekt GUID, na przykładGUID(“015e45e1044e49f388115be07f2ee116”). -
Odnośniki: jeśli używasz funkcji Lookup, aby uzyskać wartości odnośników pierwszego poziomu, takie jak
Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), rozważ użycieThisItem.PrimaryContacts(gdzie zamiast tego parametr PrimaryContacts jest nazwą tabeli).
Ulepszanie środowiska źródła danych i widoków Microsoft Dataverse jest wyłączone
Skorzystaj z poniższej instrukcji, aby włączyć funkcję Ulepszanie środowiska źródła danych i widoków platformy Microsoft DataverseWłącz:
- Usuń istniejące połączenia źródła danych Dataverse.
- Włącz funkcjęUlepszanie środowiska źródła danych i widoków usługi Microsoft Dataverse.
- Dodaj połączenie Dataverse przy użyciu nowego doświadczenia wyboru źródła danych.
- Zapisz aplikację.
Uwaga / Notatka
Jeśli aplikacja jest bardzo duża, dodanie połączeń ze źródłem danych może zająć trochę czasu. Nie zamykaj aplikacji podczas tego procesu.
Konwertowanie aplikacji canvas przy użyciu łącznika Dynamics 365
Aby przekonwertować aplikację korzystającą z łącznika usługi Dynamics 365, należy usunąć i dodać połączenia ze źródłami danych. Wykonaj poniższe kroki, aby przekonwertować połączenia na źródła danych.
Upewnij się, że funkcja Ulepszanie środowiska źródła danych i widoków usługi Microsoft Dataverse jest włączona.
Usuń istniejące połączenia ze źródłem danych usługi Dynamics 365.
Dodaj połączenia ze źródłami danych do usługi Dataverse przy użyciu nowego środowiska wyboru źródła danych.
Uwaga / Notatka
- Jeśli masz połączenia z innymi środowiskami (innymi niż bieżące), wybierz kategorię Tabela , a następnie opcję Więcej (...), aby zmienić środowisko. Następnie możesz wybrać tabelę z innego środowiska, aby dodać do aplikacji. Połączenia między dzierżawcami nie działają z ulepszonym łącznikiem standardowym. Aby uzyskać dostęp do danych między dzierżawcami, musisz użyć integracji danych.
- Aby móc zobaczyć środowisko, do którego chcesz dodać połączenie, musisz spełnić jedno z następujących wymagań:
- Jesteś właścicielem aplikacji lub aplikacja jest ci udostępniana jako współwłaściciel.
- Jesteś członkiem co najmniej jednej z następujących ról zabezpieczeń: Administrator środowiska, Twórca środowiska lub Administrator systemu. Aby uzyskać więcej informacji na temat ról zabezpieczeń w środowisku, zobacz Konfigurowanie zabezpieczeń użytkowników do zasobów w środowisku.
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 znaków GUID lub jeśli 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 zostać wyświetlona formuła, która oczekuje tabeli, ale jest interpretowana jako nazwa pola o bardziej lokalnym zakresie. Użyj nawiasu kwadratowego z symbolem @, aby wskazać zakres globalny, aby odwołać się do tabeli, na przykład [@tableName].
-
Wartości wyboru: jeśli używasz pola wyboru z identyfikatorem tekstowym dla wartości wyboru, użyj notacji kropkowej, aby odwołać się do wartości wyboru. Na przykład zmień
Patch(Accounts, OptionSet1 = “12345”)wartość naPatch(Accounts, OptionSet.Item1)gdzieItem1odpowiada12345wartości.
Więcej informacji: Szczegółowe przykłady. -
Identyfikatory GUID: jeśli używasz statycznego ciągu identyfikatora GUID, takiego jak
015e45e1044e49f388115be07f2ee116, przekonwertuj go na funkcję zwracającą obiekt GUID, na przykładGUID(“015e45e1044e49f388115be07f2ee116”). -
Odnośniki: jeśli używasz funkcji Lookup, aby uzyskać wartości odnośników pierwszego poziomu, takie jak
Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), rozważ użycieThisItem.PrimaryContacts(gdzie zamiast tego parametr PrimaryContacts jest nazwą tabeli). - W przypadku wszystkich odwołań polimorficznych zapoznaj się z poniższą sekcją Szczegółowe przykłady.
Szczegółowe przykłady
Konwertowanie aplikacji w celu używania nowych zestawów opcji i dwóch typów danych opcji z kontrolkami pomocniczymi może być trudne podczas uaktualniania aplikacji w celu korzystania z nowej funkcji Ulepszanie środowiska źródła danych i widoków usługi Microsoft Dataverse .
Choices
Do wcześniej dokonywanego wyboru używano oddzielnych pól _myfield i _myfield_label. Teraz istnieje jeden 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 wybranej karty danych
Zalecamy, aby usunąć istniejące karty danych i dodać je ponownie zgodnie z własnym wyborem. Jeśli na przykład pracujesz z tabelą Account (Konto) i wybraną pozycją Category (Kategoria), zobaczysz, że właściwość DataField karty danych została ustawiona na _accountcategorycode_label. Na liście pól widać, że karta danych ma typ Ciąg:
Dzięki nowemu ulepszonemu doświadczeniu źródła danych i widokom Microsoft Dataverse nie widzisz już _accountcategorycode_label. Jest on zastępowany przez accountcategorycode. Karta jest teraz oznaczona jako niestandardowa i zobaczysz błędy. Usuń starą kartę danych i dodaj pozycję Wybór z powrotem. Nowa karta danych jest świadoma wyboru .
Edytowanie wyrażeń filtru wyboru w celu używania nowej składni
Wcześniej, jeśli chcesz użyć wartości Wybór w wyrażeniu filtru, musisz użyć pola Wartość . Przykład:
Filter(Account,'Category Value' = "1")
Musisz edytować tę formułę. Identyfikator tekstu wyboru nie jest już używany dla wartości. To wyrażenie powinno zostać zaktualizowane do:
Filter(Account, Category= ‘Category (Accounts)’.’Preferred Customer’)
"Category(Accounts)" to nazwa wyliczenia używana w polu Category tabeli Accounts. Jest to wybór lokalny. Więcej informacji na temat wyborów lokalnych i globalnych można znaleźć tutaj: Opcje globalne.
Edytowanie instrukcji poprawek do używania nowej składni
Poniżej przedstawiono przykład wcześniejszej instrukcji Patch do wyboru:
Patch( Accounts, First(Accounts), { ‘Category Value’: 1 } ) )
Musisz zaktualizować swoje oświadczenia, aby zgodnie z tym formularzem.
Patch( Accounts, First(Accounts), { Category: ‘Category (Accounts)’.’Preferred Customer’ } )
Uściślanie wyboru
Jeśli nazwa wyświetlana pola wyboru i nazwa wyboru są identyczne, musisz uściślić formułę. Aby kontynuować korzystanie z przykładu kodu kategorii kont, @ oznacza użycie opcji, a nie pola.
Filter(Accounts, 'Category Code' = [@’Category Code’].'Preferred Customer')
Dwie opcje
Usuwanie i dodawanie kart Tak/Brak danych
Usuń istniejące karty danych i dodaj je z powrotem, aby działały z opcją Tak/Nie. Typy danych zostały wcześniej rozpoznane jako proste wartości logiczne — takie jak true/on i false/off bez etykiet:
Dzięki nowej funkcji ulepszonego środowiska źródła danych i widoków usługi Microsoft Dataverse twoja karta będzie oznaczona jako niestandardowa i zobaczysz błędy. Usuń starą kartę danych i dodaj wybór z powrotem. Po dodaniu zobaczysz kontrolkę edycji z dwiema opcjami.
Jeśli wolisz przełącznik dla pola logicznego, możesz odblokować kartę danych i zastąpić kontrolkę na karcie danych przełącznikiem. Należy również ustawić te właściwości w przełączniku.
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 )
Doprecyzowanie dwóch instrukcji opcjonalnych poprawek
Użycie funkcji Patch z dwoma opcjami powinno działać "tak, jak jest". Obsługuje bezpośrednie użycie true i false, podobnie jak typ logiczny (Boolean). Jedyną różnicą jest to, że jeśli wcześniej umieściłeś wartość w kontrolce Etykieta, która pokazywała true i false, teraz będzie ona pokazywać dwie etykiety dla opcji.
Wyszukiwania polimorficzne
Poniższe wskazówki pomagają uaktualnić aplikację, jeśli odwołuje się do pól polimorficznych . Wielomorficzne wyszukiwania z tego samego pola obsługują odwołania do ograniczonego zestawu wielu tabel. Podobnie jak w przypadku odwołań w innych językach odwołanie do rekordu jest wskaźnikiem do określonego rekordu w określonej tabeli. Odwołanie do rekordu zawiera informacje o tabeli, która pozwala mu wskazywać na rekord w kilku innych tabelach, co różni się od normalnego wyszukiwania, które może wskazywać jedynie na rekordy w jednej tabeli.
Dostęp, Ustawianie i filtrowanie w polu Właściciel rekordu
Na przykład pole Właściciel w tabeli może odwoływać się do rekordu w tabeli Users lub tabeli Teams. To samo pole odnośnika w różnych rekordach może odwoływać się do rekordów w różnych tabelach.
Polimorficzny z filtrem i poprawką
Odwołania do rekordów mogą być używane tak samo jak pełny rekord:
Filter( Accounts, Owner = First( Teams ) )
Patch( Accounts, First( Accounts ), { Owner: First( Users ) })
Polimorficzne z galerią z wyświetloną nazwą właściciela
Ponieważ odwołanie może wskazywać różne tabele, musisz być specyficzny. Nie można użyć ThisItem.Owner.Name, ponieważ pole nazwy w tabeli Team ma wartość Nazwa zespołu, a pole nazwy w tabeli Użytkownik to Pełna nazwa. Usługa Power Apps nie wie, jakiego typu odnośnika odwołujesz się do, dopóki nie uruchomisz aplikacji.
Aby rozwiązać ten problem:
- Dodaj źródła danych dla typów jednostek, które mogą być właścicielem; w bieżącym przykładzie użytkownicy i zespoły).
- Użyj większej liczby funkcji, aby wyjaśnić intencję.
Istnieją dwie nowe funkcje, których można użyć:
- IsType — sprawdza, czy odwołanie do rekordu ma określony typ tabeli.
- AsType — rzutuje referencję rekordu do konkretnego typu tabeli.
Za pomocą tych funkcji można napisać formułę, która wyświetla nazwę właściciela pobranego z dwóch inaczej nazwanych pól na podstawie typu tabeli Właściciela:
If( IsType( ThisItem.Owner, [@Teams]),
AsType( ThisItem.Owner, [@Teams]).'Team Name',
AsType( ThisItem.Owner, [@Users]).'Full Name' )
Globalny operator rozróżniania [@Teams] i [@Users] służy do tego, aby zapewnić, że odwołujesz się do globalnego typu tabeli. Chociaż w tym przypadku nie jest to konieczne, zalecane jest, aby zawsze było jasne. Relacje jeden do wielu często powodują niespójności w zakresie rekordów w galerii, a stosowanie tej praktyki pozwala uniknąć takich pomyłek.
Uzyskiwanie dostępu i ustawianie pola Nazwa firmy (typ danych klienta) tabeli Kontakty
Pole wyszukiwania klienta to kolejny polimorficzny odnośnik podobny do pola Właściciel. Można mieć tylko jedno pole Właściciel w tabeli. Jednak tabela może zawierać zero, jedno lub więcej pól wyszukiwania klienta. Tabela systemowa Kontakty zawiera pole Nazwa firmy, które jest polem wyboru klienta. Przeczytaj , jak wyświetlić pola klienta , aby uzyskać więcej informacji.
Uzyskiwanie dostępu do pól Dotyczy i ich ustawianie w tabelach aktywności, takich jak faksy, połączenia telefoniczne, wiadomości e-mail.
Wyszukiwanie polimorficzne nie jest ograniczone do kont i kontaktów. Lista tabel jest rozszerzalna za pomocą tabel niestandardowych. Na przykład tabela Faksów zawiera pole odnośnika wielomorficznego Dotyczące, które może odwoływać się do tabel Konta, Kontakty i innych. Jeśli masz galerię ze źródłem danych ustawionym na Faksy, możesz użyć poniższej formuły, aby wyświetlić nazwę skojarzoną z polem wyszukiwania odnośnie.
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',
"" )
Aby uzyskać więcej informacji, przeczytaj o polach odnośników i o relacjach.
Dostęp do listy wszystkich aktywności dla rekordu
W usłudze Dataverse tabele, takie jak faksy, zadania, wiadomości e-mail, notatki, połączenia telefoniczne, listy i czaty są wyznaczone jako działania. Możesz również utworzyć własne niestandardowe tabele działań.
Możesz pokazać działania określonego typu (takie jak faksy lub podatki) lub wszystkie działania skojarzone z tabelą, taką jak konto. Dodaj tabelę 'Activities' i inne poszczególne tabele, których dane planujesz wyświetlać w aplikacji canvas.
Za każdym razem, gdy dodajesz rekord do (na przykład tabeli Tasks), tworzony jest rekord w tabeli Activity z polami wspólnymi dla wszystkich tabel działań. Przeczytaj tabelę działań , aby uzyskać więcej szczegółów.
W poniższym przykładzie pokazano, że po wybraniu konta zostaną wyświetlone wszystkie działania skojarzone z tym kontem:
Rekordy są wyświetlane z tabeli Działania. Nadal można jednak użyć funkcji IsType , aby określić, jakiego rodzaju działanie są. Ponownie, zanim użyjesz właściwości IsType z typem tabeli, musisz dodać niezbędne źródło danych.
Korzystając z tej formuły, 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")
Uzyskiwanie dostępu do listy notatek dla rekordu
Podczas tworzenia tabeli można włączyć załączniki. Jeśli zaznaczysz pole wyboru umożliwiające dołączanie załączników, utworzysz relację typu Dotyczy z tabelą Notatki, jak pokazano na poniższej grafice dla tabeli Konta:
Filtering
Nie można odczytać ani filtrować na podstawie pola Dotyczy. Jednak dostępna jest relacja odwrotna Notatek jeden do wielu. Aby wyświetlić listę wszystkich notatek skojarzonych z tabelą Konto, możesz użyć następującej formuły:
First( Accounts ).Notes
Patch
Nie można ustawić pola Notatki w tabeli przy użyciu funkcji Patch. Aby dodać rekord do tabeli Notatki, możesz użyć funkcji Relate. Najpierw utwórz notatkę, jak w tym przykładzie:
Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note", isdocument:'Is Document (Notes)'.No } ) )