Informacje dotyczące odwołań do rekordów i wyszukiwań polimorficznych w aplikacjach kanwy
Jeśli w szkole trzeba było pisać opracowanie, prawdopodobnie na jego końcu znajdowała się lista odwołań. Nie dołączono kopii rzeczywistych użytych materiałów, ale uwzględniono link internetowy, tytuł i autora książki lub inne informacje, aby inna osoba mogła znaleźć oryginalne źródło. Na jednej liście połączono różne źródła, artykuły z prasy obok nagrań audio, a dla każdego z nich podano określone szczegóły związane z odpowiednim cytatem. Na przykład artykuły w witrynie Wikipedia często zawierają długą listę odwołań.
W przypadku aplikacji kanwy często pracujesz z kopiami rekordów pobranych ze źródeł danych. Do zidentyfikowania wybranego rekordu należy użyć funkcji LookUp i Filter oraz właściwości Wybrane kontrolki Galeria. Wszystkie rekordy z opcji Filtruj lub Wybrane będą tego samego typu, więc można użyć pól o prostym typie. Notacja Pola. Kopie te często zawierają informacje referencyjne, dzięki czemu można użyć funkcji Patch w celu zaktualizowania oryginalnego źródła.
Aplikacje kanwy obsługują również odwołania do rekordów. Podobnie jak w przypadku odwołania do opracowania, odwołanie do rekordu odnosi się do rekordu, ale nie zawiera jego pełnej kopii. Takie odwołanie może odwoływać się do rekordu w dowolnej tabeli. Podobnie jak w przypadku odwołań do badania, rekordy z różnych tabel można łączyć w jednej kolumnie.
Wiele operacji dotyczących odwołań do rekordów jest identycznych jak podczas pracy z rekordami. Odwołania do rekordów można porównywać ze sobą oraz z innymi pełnymi rekordami. Można ustawić wartość odwołania do rekordu przy użyciu funkcji Patch, tak jak w przypadku wyszukiwania z pełnym rekordem.
Istnieje jedna ważna różnica użycia: nie można bezpośrednio uzyskać dostępu do pól odwołania do rekordu bez wcześniejszego ustalenia, do której tabeli odwołuje się ten rekord. Wynika to z faktu, że aplikacje kanwy wymagają, aby wszystkie typy były znane podczas pisania formuł. Ponieważ typ odwołania do rekordu nie będzie znany do momentu uruchomienia aplikacji, nie można bezpośrednio używać prostej notacji .Field. W pierwszej kolejności należy dynamicznie określić typ tabeli za pomocą funkcji IsType, a następnie użyć jej. Notacja pola na wyniku funkcji AsType.
Typ tabeli odwołuje się do schematu każdego rekordu w tabeli. Każda tabela zawiera unikatowy zestaw pól o różnych nazwach i typach danych. Każdy rekord tabeli dziedziczy strukturę; dwa rekordy mają ten sam typ tabeli, jeśli pochodzą z tej samej tabeli.
Uwaga
Można wybrać jeden z wielu różnych łączników, aby łączyć się z różnymi typami źródeł danych dla aplikacji kanw. Jednak podczas pracy z aplikacjami kanwy w Power Apps Studio, kolumny w Microsoft Dataverse są określane jako pola podobne do wszystkich innych źródeł danych. Kolumna jest używana tylko w przypadku odwołującego się do kolumny w środku Dataverse. Aby uzyskać więcej informacji: Aktualizacje terminologii Dataverse
Wyszukiwania polimorficzne
Usługa Microsoft Dataverse obsługuje relacje między rekordami. Każdy rekord w tabeli Konta ma kolumnę wyszukiwania Kontakt podstawowy dla rekordu w tabeli Kontakty. Pole wyszukiwania może odwoływać się tylko do rekordu w danych kontaktów i nie może odwoływać się do rekordu, na przykład tabeli Zespoły. Te ostatnie informacje są ważne, ponieważ wiadomo, jakie kolumny będą dostępne dla danych wyszukiwania.
Dataverse obsługuje również wyszukiwania wszystkich danych w zestawie, które mogą odwoływać się do rekordu z dowolnej tabeli. Na przykład kolumna Właściciel może odwoływać się do rekordu w tabeli Użytkownicy lub Tabeli Zespoły. Ta sama kolumna wyszukiwania w różnych rekordach może odwoływać się do rekordów w różnych tabelach. W takim przypadku nie zawsze jest wiadomo, jakie kolumny będą dostępne.
Odwołania do rekordów kanwy zostały zaprojektowane do pracy z wyszukiwaniami polimorficznymi w usłudze Dataverse. Można również używać odwołań do rekordów poza tym kontekstem — tym różnią się od siebie te dwie koncepcje.
W następnej sekcji zaczniesz zapoznawać się z tymi koncepcjami, pracując z wyszukiwaniem typu Właściciel.
Wyświetlanie kolumn właściciela rekordu
Każda tabela zawiera w Dataverse kolumnę Właściciel. Tej kolumny nie można usunąć, nie można dodać innej i zawsze wymaga wartości.
Aby pokazać kolumnę w tabeli Konto:
Zaloguj się do usługi Power Apps.
W lewym pasku wybrać Dane > Tabele.
Z listy tabel wybierz pozycję Konto.
W prawym górnym rogu otwórz listę filtrów (domyślnie ustawioną na wartość Domyślne), a następnie wybierz pozycję Wszystkie.
Przewiń w dół, aż pojawi się kolumna Właściciel.
Ta kolumna wyszukiwania może odwoływać się do rekordu z tabeli Zespoły lub Użytkownicy. Nie każdy rekord w tych tabelach ma uprawnienia do bytego właścicielem. W przypadku wystąpienia problemu należy sprawdzić obsługiwane role.
Ta ilustracja przedstawia prostą galerię kont, w której do aplikacji dodano tabelę Konta jako element źródło danych:
Ważne
W tym temacie grafiki zawierają nazwy i inne wartości, które nie są częścią danych przykładowych dostarczanych z usługą Dataverse. Kroki dokładnie prezentują sposób konfigurowania kontrolek dla konkretnego wyniku, ale niektóre wyniki mogą się różnić w zależności od danych organizacji.
Aby wyświetlić właściciela każdego konta w galerii, możesz chcieć skorzystać z formuły ThisItem.Owner.Name. Jednak pole nazwy w tabeli Zespołu to Nazwa zespołu, a pole nazwy w tabeli Użytkownik ma Pełna nazwa. Aplikacja nie może wiedzieć, z jakim typem wyszukiwania pracujesz, dopóki nie zostanie uruchomić aplikacji, i może się różnić od rekordów w tabeli Konta.
Potrzebujesz formuły, którą można dostosować do tego odchylenia. Należy również dodać źródła danych dla typów tabel, które mogą być właścicielami (w tym przypadku użytkownicy i zespoły). Dodaj te trzy źródła danych do aplikacji:
Po wprowadzeniu tych źródeł danych użyj tej formuły do wyświetlenia nazwy użytkownika lub zespołu:
If( IsType( ThisItem.Owner, Teams ),
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
W tej formule funkcja IsType testuje pole Właściciel na tabelę Zespoły. Jeśli należy do tego typu tabeli, funkcja AsType jest przechowywana do rekordu zespołu. W tym momencie można uzyskać dostęp do wszystkich pól tabeli Zespoły, w tym także Nazwa zespołu, za pomocą narzędzia notacja .Field. Jeśli typ IsType stwierdzi, że właściciel nie jest rekordem w tabeli Zespoły, to pole musi być rekordem w tabeli Użytkownicy, ponieważ jest wymagane pole Właściciel (nie może być puste).
Aby użyć dowolnych pól odwołania do rekordu, należy najpierw użyć funkcji AsType w celu użycia go do określonego typu tabeli. Nie można uzyskać dostępu do pól bezpośrednio z pola Właściciel, ponieważ system nie wie, jakiego typu tabeli ma używać.
Funkcja AsType zwraca błąd, jeśli pole Właściciel nie pasuje do żądanego typu tabeli, co pozwala uprościć tę formułę za pomocą funkcji IfError. Najpierw włącz funkcję eksperymentalną Zarządzanie błędami na poziomie formuły:
Następnie zastąp poprzednią formułę następującą:
IfError(
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Filtrowanie oparte na właścicielu
Gratulacje — ukończono najtrudniejszy aspekt pracy z odwołaniem do rekordu. Inne przypadki użycia są prostsze, ponieważ nie mają dostępu do pól rekordu. W tej sekcji zapoznasz się z jednym z takich przypadków — filtrowaniem.
Dodaj kontrolkę Pole kombi nad galerią i ustaw te właściwości nowej kontrolki:
- Elementy:
Users
- SelectMultiple:
false
Aby odfiltrować galerię według określonego użytkownika zaznaczonego w tym polu kombi, ustaw właściwość Elementy galerii na tę formułę:
Filter( Accounts, Owner = ComboBox1.Selected )
Ważne
Instrukcje zawarte w tym temat są dokładne, jeśli starannie wykonujesz opisane kroki. Natomiast każda formuła, która odwołuje się do kontrolki za pomocą jej nazwy, kończy się niepowodzeniem, jeśli kontrolka ma inną nazwę. Jeśli usuniesz i dodasz kontrolkę tego samego typu, zmieni się liczba znajdująca się na końcu nazwy kontrolki. Dla każdej formuły pokazującej błąd, potwierdź, że zawiera ona poprawne nazwy wszystkich kontrolek.
Nie musisz używać funkcji IsType lub AsType, ponieważ porównujesz odwołania do rekordów z innymi odwołaniami do rekordów lub do pełnych rekordów. Aplikacja wie, jaki typ tabeli to ComboBox1.Selected, ponieważ jest pochodzących z tabeli Użytkownicy. Konta, dla których właściciel jest zespołem, nie będą odpowiadać kryterium filtru.
Aby zwiększyć atrakcyjność rozwiązania, można wybrać opcję filtrowania według użytkownika lub zespołu.
Zwolnij miejsce u góry ekranu, zmieniając rozmiar galerii i przesuwając pole kombi, wstaw kontrolkę Przycisk radiowy nad galerią, a następnie ustaw te właściwości dla nowej kontrolki:
- Elementy:
[ "All", "Users", "Teams" ]
- Układ:
Layout.Horizontal
- Elementy:
Dla kontrolki Pole kombi ustaw tę właściwość (jeśli pole kombi zniknie, wybierz pozycję Użytkownicy w kontrolce przycisku radiowego):
- Widoczne:
Radio1.Selected.Value = "Users"
- Widoczne:
Skopiuj i wklej kontrolkę Pole kombi, przenieś kopię bezpośrednio na oryginał, a następnie ustaw następujące właściwości kopii:
- Elementy:
Teams
- Widoczne:
Radio1.Selected.Value = "Teams"
W zależności od stanu kontrolki przycisku radiowego aplikacja będzie wyświetlać tylko jedno pole kombi w danym momencie. Ponieważ znajdują się one bezpośrednio nad sobą, będą wyglądać jak ta sama kontrolka ze zmienioną zawartością.
- Elementy:
Na koniec ustaw właściwość Elementy kontrolki Galeria na tę formułę:
Filter( Accounts, Radio1.Selected.Value = "All" Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected) Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected) )
Wprowadzenie tych zmian umożliwia wyświetlenie wszystkich rekordów lub ich filtrowanie na podstawie użytkownika lub zespołu:
Formuła ma możliwość pełnego delegowania. Część porównująca wartości przycisków radiowych jest stała we wszystkich rekordach i jest oceniana przed wysłaniem reszty filtru do usługi Dataverse.
Jeśli chcesz filtrować według typu właściciela, możesz użyć funkcji IsType, ale nie można jej jeszcze delegować.
Aktualizowanie właściciela za pomocą funkcji Patch
Pole Właściciel można aktualizować w taki sam sposób jak w przypadku innych wyszukiwań. Aby ustawić właściciela wybranego konta dla pierwszego zespołu:
Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )
Takie podejście nie różni się od normalnego wyszukiwania, ponieważ aplikacja zna typ First( Teams ). Jeśli w zamian potrzebujesz pierwszego użytkownika, zamień tę część na First( Users ). Funkcja Patch wie, że pole Właściciel może być ustawione na jeden z tych dwóch typów tabeli.
Aby dodać tę możliwość do aplikacji:
W okienku Widok drzewa wybierz kontrolkę Przycisk radiowy i dwie kontrolki Pole kombi w tym samym czasie.
W menu wielokropka wybierz pozycję Kopiuj te elementy.
W tym samym menu wybierz pozycję Wklej.
Przenieś skopiowane kontrolki po prawej stronie galerii.
Wybierz skopiowaną kontrolkę Przycisk radiowy, a następnie zmień następujące właściwości:
- Elementy:
[ "Users", "Teams" ]
- Domyślnie:
If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )
- Elementy:
W kontrolce Przycisk radiowy wybierz pozycję Użytkownicy, tak aby kontrolka Pole kombi wyświetlająca listę użytkowników była widoczna.
Wybierz widoczną kontrolkę Pole kombi, a następnie ustaw właściwość DefaultSelectedItems na tę formułę:
If( IsType( Gallery1.Selected.Owner, Users ), AsType( Gallery1.Selected.Owner, Users ), Blank() )
W kontrolce Przycisk radiowy wybierz pozycję Zespoły, tak aby kontrolka Pole kombi wyświetlająca listę zespołów była widoczna.
Wybierz kontrolkę Przycisk radiowy, aby uniemożliwić wybieranie przy użyciu kontrolki Pole kombi niewidocznej teraz dla użytkowników.
Wybierz widoczną kontrolkę Pole kombi dla zespołów, a następnie ustaw jej właściwość DefaultSelectedItems na tę formułę:
If( IsType( Gallery1.Selected.Owner, Teams ), AsType( Gallery1.Selected.Owner, Teams ), Blank() )
Wstaw kontrolkę Przycisk, przenieś ją pod kontrolkę Pole kombi, a następnie ustaw właściwość Tekst na wartość
"Patch Owner"
.Dla właściwości OnSelect przycisku ustaw następującą formułę:
Patch( Accounts, Gallery1.Selected, { Owner: If( Radio1_1.Selected.Value = "Users", ComboBox1_2.Selected, ComboBox1_3.Selected ) } )
Skopiowane kontrolki Przyciski radiowe i Pole kombi pokazują właściciela aktualnie wybranego konta w galerii. Korzystając z tych samych kontrolek, można ustawić właściciela konta dla dowolnego zespołu lub użytkownika, wybierając przycisk:
Wyświetlanie właściciela przy użyciu formularza
Aby wyświetlić pole Właściciel wewnątrz formularza, możesz dodać kartę niestandardową. W trakcie pisania tej dokumentacji nie można było zmienić wartości pola przy użyciu kontrolki formularza.
Wstaw kontrolkę Edytuj formularz, a następnie zmień jej rozmiar i przenieś ją w prawy dolny róg.
Na karcie Właściwości znajdującej się po prawej stronie ekranu otwórz listę Źródło danych, a następnie wybierz pozycję Konta.
Ustaw właściwość Element formularza na
Gallery1.Selected
.Na karcie Właściwości po prawej stronie ekranu wybierz pozycję Edytuj pola.
W okienku Pola wybierz wielokropek, a następnie wybierz pozycję Dodaj kartę niestandardową.
Nowa karta zostanie wyświetlona u dołu kontrolki formularza.
W razie potrzeby zmień rozmiar karty, aby pokazać cały tekst.
Wstaw kontrolkę Etykieta na karcie niestandardowej, a następnie ustaw właściwość Tekst etykiety na formułę używaną w galerii:
If( IsType( ThisItem.Owner, Teams ), "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name', "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
W przypadku każdej opcji wybranej w galerii w formularzu zostanie wyświetlona większa liczba pól konta, w tym właściciel rekordu. W przypadku zmiany właściciela przy użyciu przycisku funkcji Patch kontrolka formularza również będzie pokazywać tę zmianę.
Pokaż kolumny klienta
W Dataverse kolumna wyszukiwania Klient to kolejne wyszukiwanie polimorficzne, bardzo podobne do Właściciel.
Właściciel może zawierać tylko jedną kolumnę wyszukiwania Klient i może zawierać zero, jedną lub więcej kolumn wyszukiwania Klient. Tabela systemowa Kontakty zawiera kolumnę Nazwa firmy, która jest kolumną wyszukiwania Klient.
Wybierając typ danych Klient dla nowej kolumny, można dodać do tabeli kolejne kolumny wyszukiwania Klienci.
Pole wyszukiwania Klient może odwoływać się do rekordu z tabeli Konta lub Kontakty. W tych tabelach będą używane funkcje IsType i AsType, więc warto teraz dodać je jako źródła danych (można pozostawić na miejscu zespoły i użytkowników).
Sposób traktowania pól Klient i Właściciel jest tak podobny, że możesz właściwie skopiować aplikację (Plik > Zapisz jako, a następnie podaj inną nazwę) i wprowadzić te proste zamiany:
Lokalizacja | Właściciel — przykład | Klient — przykład |
---|---|---|
Wszędzie | Właściciel | „Nazwa klienta” |
Wszędzie | Użytkownicy | Klienci |
Wszędzie | Zespoły | Kontakty |
Właściwość Elementy galerii | Klienci | Kontakty |
Właściwość Elementy formularza | Klienci | Kontakty |
Pierwszy argument funkcji Patch we właściwości OnSelect przycisku |
Klienci | Kontakty |
Właściwość Elementy przycisku radiowego filtru | [ „Wszystko”, „Użytkownicy”, „Zespoły” ] | [ „Wszystko”, „Konta”, „Kontakty” ] |
Właściwość Elementy przycisku radiowego funkcji Patch | [ „Użytkownicy”, „Zespoły” ] | [ „Konta”, „Kontakty” ] |
Właściwość Widoczne pola kombi | „Użytkownicy” i „Zespoły” | „Konta” i „Kontakty” |
Nowa galeria powinna na przykład mieć właściwość Elementy:
Filter( Contacts,
Radio1.Selected.Value = "All"
Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)
Dwie ważne różnice między elementami Klient i Właściciel wymagają aktualizacji formuł wewnątrz galerii i formularza:
Relacje jeden-do-wielu między relacje kontami i kontaktami mają różne nazwy, jeśli dotyczy to nazw tych typów tabel. Zamiast elementu Konta użyj opcji [@Konta]; zamiast elementu Kontakty użyj opcji [@Kontakty]. Używając globalnego obiektu rozsyłania, należy się upewnić, że odwołujesz się do typu tabeli w typie IsType i AsType. Ten problem występuje tylko w kontekście rekordu kontrolek galerii i formularzy.
Pole Właściciel musi mieć wartość, ale pola Klient mogą być puste. Aby wyświetlać poprawny wynik bez nazwy typu, przetestuj ten przypadek za pomocą funkcji IsBlank i w zamian wyświetl pusty ciąg tekstowy.
Obie te zmiany są w tej samej formule, która jest wyświetlana na karcie niestandardowej w formularzu, a także we właściwości Tekst kontrolki etykiety galerii:
If( IsBlank( ThisItem.'Company Name' ), "",
IsType( ThisItem.'Company Name', Accounts ),
"Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
"Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Po wprowadzonych zmianach można wyświetlić i zmienić pole Nazwa firmy w tabeli Kontakty.
Opis kolumn wyszukiwania "Informacje"
Kolumna wyszukiwania Dotyczy różni się nieco od tej, która została już temat. Rozpoczniesz od zastosowania wzorców, które zostały opisane wcześniej w tym temacie, a potem poznasz inne sztuczki.
Można rozpocząć od tabeli Faksy. Ta tabela zawiera polimorficzną kolumnę odnośnika Dotyczy, która może odwoływać się do kont, kontaktów i innych tabel. Możesz użyć aplikacji dla encji Klienci i zmienić ją pod kątem encji Faksy.
Lokalizacja | Klient — przykład | Faksy — przykład |
---|---|---|
Wszędzie | „Nazwa klienta” | Dotyczy |
Właściwość Elementy galerii | Kontakty | Faksy |
Właściwość Elementy formularza | Kontakty | Faksy |
Pierwszy argument funkcji Patch we właściwości OnSelect przycisku |
Kontakty | Faksy |
Ponownie musisz dodać źródło danych: tym razem dla encji Faksy. Na karcie Widok wybierz pozycję Źródła danych:
Ważną różnicą dla pola Dotyczy jest brak ograniczenia do encji Konta i Kontakty. W rzeczywistości listę tabel można rozszerzyć za pomocą tabel niestandardowych. Większość aplikacji może dostosowywać ten punkt bez modyfikowania, ale w galerii i w formularzu należy zaktualizować formułę odpowiadającą etykiecie:
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',
""
)
Po wprowadzeniu tych zmian będziesz pracować z wyszukiwaniem typu Dotyczy tak samo jak w przypadku wyszukiwań Właściciel i Klient.
Informacje o relacjach typu Dotyczy
Pole Dotyczy różni się pól Właściciel i Klient, ponieważ te ostatnie są relacjami typu wiele-do-jednego. W definicji odwrotna relacja jeden-do-wielu pozwala na zapisanie elementu First( Accounts ).Faxes.
Przejmijmy kopię zapasową i sprawdźmy definicje tabel. 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ń. Podczas wyświetlania lub tworzenia tabeli działań jej ustawienia są wyświetlane w obszarze Więcej ustawień.
Inne tabele mogą być powiązane z tabelą działań, jeśli zostały włączone jako zadanie działania w ustawieniach tabeli. Konta, Kontakty i wiele innych tabel standardowych jest więc określonych (ponownie w obszarze Więcej ustawień).
Wszystkie tabele działań i tabele zadań działań mają relację pomiędzy czynnościami a zadaniami. Jeśli filtr zostanie zmienić na Wszystkie u góry ekranu, wybierz tabelę Faksy, a następnie wybierz kartę relacje, zostaną wyświetlone wszystkie tabele, które mogą być elementem docelowym wyszukiwania Dotyczy.
Jeśli pokażesz relacje dla tabeli Konta, pojawią się wszystkie tabele, które mogą być źródłem pola odnośnika Dotyczy.
Co to wszystko znaczy?
- Podczas pisania formuł należy wziąć pod uwagę, że lista tabel aktywności nie jest stała i można tworzyć własne. Formuła musi odpowiednio obsługiwać tabelę działań, która nie powinna być oczekiwana.
- Zadania działań i działania mają relacje typu jeden-do-wielu. Można z łatwością poprosić o wszystkie faksy odnoszące się do danego konta.
Aby eksplorować tę koncepcję w aplikacji:
Dodaj inny ekran.
Wstaw kontrolkę galerii, zmień jej rozmiar i przenieś ją na lewą stronę ekranu.
Na karcie Właściwości znajdującej się obok prawej strony ekranu ustaw właściwość Elementy galerii na Konta.
Ustaw układ galerii na Tytuł, a następnie ustaw pole tytułu na Nazwa konta.
Dodaj drugą galerię, zmień jej rozmiar i przenieś ją na prawą stronę ekranu.
Ustaw właściwość Elementy nowej galerii na wartość
Gallery2.Selected.Faxes
.Ten krok zwraca filtrowaną listę faksów dla danego konta.
Ustaw układ galerii na Tytuł i podtytuł, a następnie ustaw pole tytułu tak, aby zawierało pole Temat (może ono na przykład zawierać pisany małymi literami wyraz tytuł).
Po wybraniu elementu z listy kont lista faksów będzie zawierać faksy tylko dla tego konta.
Tabela działań
Jak opisano w poprzedniej sekcji, można wyświetlić wszystkie faksy dla konta. Możesz jednak wyświetlić wszystkie działania dla konta, w tym faksy, wiadomości e-mail, rozmowy telefoniczne i innych interakcje.
W scenariuszu, w którym scenariusz można użyć funkcji Działania. Tabelę można wyświetlić, włączając w prawym górnym rogu przycisk Wszystkie, aby usunąć filtr z listy tabel.
Tabela Działanie jest specjalna. Po dodaniu rekordu do tabeli Faksy system tworzy również rekord w tabeli Działanie z kolumnami wspólnymi dla wszystkich tabel działań. Spośród tych kolumn Temat jest jedną z najciekawszych.
Możesz wyświetlić wszystkie działania, zmieniając w poprzednim przykładzie tylko jeden wiersz. Zamień Gallery2.Selected.Faxes
na Gallery2.Selected.Activities
.
Rekordy pochodzą z tabeli Działanie, ale można użyć funkcji IsType do określenia, jakiego rodzaju działania są. Ponownie, przed użyciem typu IsType do typu tabeli, należy dodać ź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"
)
Możesz również użyć funkcji AsType, aby uzyskać dostęp do pól określonego typu. Na przykład ta formuła określa typ poszczególnych działań i dla rozmów telefonicznych pokazuje numer telefonu i kierunek rozmowy z tabeli Numery telefonów:
If( IsType( ThisItem, Faxes ), "Fax",
IsType( ThisItem, 'Phone Calls' ),
"Phone Call: " &
AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
" (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
IsType( ThisItem, 'Email Messages' ), "Email Message",
IsType( ThisItem, Chats ), "Chat",
"Unknown"
)
W wyniku aplikacja wyświetli pełną listę działań. Pole Temat jest wyświetlane dla wszystkich typów działań, niezależnie od tego, czy uwzględnia je formuła. W przypadku znanych Ci typów działań możesz wyświetlić nazwy tych typów i informacje specyficzne dla danego typu dotyczące każdego działania.
Tabela notatek
Do tej pory wszystkie przykłady Dotyczy były oparte na działaniach, ale tabela notatek przedstawia inną sprawę.
Podczas tworzenia tabeli można włączyć załączniki.
Jeśli zaznaczysz pole wyboru umożliwiające załączniki, zostanie utworzeniu relacji Dotyczy w tabeli notatek, jak pokazano na ilustracji w tabeli Konta:
Poza tą różnicą wyszukiwanie Dotyczy jest używane tak samo jak w przypadku korzystania z działań. Tabele z włączonymi załącznikami mają relację jeden do wielu z notatkami, tak jak w poniższym przykładzie:
First( Accounts ).Notes
Uwaga
Podczas pisania tego zapisu wyszukiwania dotyczy jest niedostępne w tabeli notatek. Nie można odczytać ani filtrować na podstawie kolumny Dotyczy oraz nie można ustawić kolumny przy użyciu funkcji Patch.
Dostępna jest jednak odwrotna relacja encji Notatki, więc można filtrować listę notatek dla rekordu, dla którego włączono obsługę załączników. Można również użyć funkcji Relate, aby dodać notatkę do tabeli encji Notatki rekordu, ale najpierw należy utworzyć notatkę, tak jak w poniższym przykładzie:
Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )
Strony działania
W trakcie pisania tej dokumentacji aplikacje kanwy nie obsługiwały stron działań.
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).