Sdílet prostřednictvím


Vysvětlení odkazů na záznamy a polymorfních vyhledávání v aplikacích plátna

Když jste ve škole psali zprávu z průzkumu, pravděpodobně jste na konci uvedli seznam svých referencí. Nezahrnuli jste kopii skutečného podkladového materiálu, který jste použili, ale webový odkaz, název knihy a autora nebo jiné informace, aby někdo mohl sledovat původní zdroj. V jednom seznamu jste smíchali různé druhy zdrojů, novinové články vedle zvukových nahrávek, každý s vlastními konkrétními detaily pro správnou citaci. Například články na Wikipedii často obsahují a dlouhý seznam referencí.

V aplikacích na plátně často pracujete s kopiemi záznamů stažených ze zdrojů dat. Používáte funkce LookUp a Filter a vlastnost ovládacího prvku Galerie Selected k určení konkrétního záznamu, který požadujete. Všechny záznamy z funkce Filter nebo vlastnosti Selected budou mít stejný typ tabulky, takže můžete použít pole s jednoduchou notací .Pole. Tyto kopie často obsahují referenční informace, takže můžete použít funkci Patch k aktualizaci původního zdroje.

Aplikace plátna podporují také reference záznamu. Podobně jako reference na referát odkazuje také reference záznamu na záznam bez zahrnutí kompletní kopie. Takový odkaz může odkazovat na záznam v jakékoli tabulce. Stejně jako u referencí v odborných pracích můžete v jednom sloupci kombinovat záznamy z různých tabulek.

Mnoho operací s odkazy na záznamy je totožných s prací se záznamy. Můžete porovnat odkazy na záznamy navzájem a na plné záznamy. Hodnotu odkazu na záznam můžete nastavit pomocí funkce Patch stejně, jako byste vyhledávali s úplným záznamem.

Existuje jeden důležitý rozdíl v použití: nemůžete přímo přistupovat k polím odkazu na záznam, aniž byste nejprve určili, na kterou tabulku odkazuje. Je to proto, že aplikace plátna vyžadují, aby při psaní vzorců byly známy všechny typy. Protože neznáte typ odkazu na záznam, dokud není aplikace spuštěna, nemůžete použít přímo jednoduchou notaci Field. Nejprve musíte dynamicky určit typ tabulky pomocí funkce IsType a poté použít notaci .Pole na výsledku funkce AsType.

Typ tabulky odkazuje na schéma každého záznamu v tabulce. Každá tabulka má jedinečnou sadu polí s různými názvy a datovými typy. Každý záznam tabulky zdědí tuto strukturu; dva záznamy mají stejný typ tabulky, pokud pocházejí ze stejné tabulky.

Poznámka

U aplikací plátna si můžete vybrat z mnoha různých konektorů pro připojení k různým typům zdrojů dat. Při práci s aplikacemi plátna uvnitř Power Apps Studio jsou však sloupce v Microsoft Dataverse označovány jako pole, podobně jako u všech ostatních zdrojů dat. Sloupec se používá pouze při odkazu na sloupec uvnitř Dataverse. Další informace: Aktualizace terminologie Dataverse

Polymorfní vyhledávání

Microsoft Dataverse podporuje vztahy mezi záznamy. Každý záznam v tabulce Účty má vyhledávací sloupec Primární kontakt pro záznam v tabulce Kontakty. Vyhledávání může odkazovat pouze na záznam v tabulce Kontakty a nemůže odkazovat na záznam třeba v tabulce Týmy. Tento poslední detail je důležitý, protože vždy víte, jaké sloupce budou k dispozici pro vyhledávání.

Dataverse také podporuje polymorfní vyhledávání, které může odkazovat na záznam z libovolné tabulky v sadě. Například pole Vlastník v tabulce může odkazovat na záznam v tabulce Uživatelé nebo v tabulce Týmy. Stejný vyhledávací sloupec v různých záznamech může odkazovat na záznamy v různých tabulkách. V takovém případě nebudete vždy vědět, jaké sloupce budou k dispozici.

Odkazy na plátno byly navrženy pro práci s polymorfními vyhledáváními v Dataverse. Můžete také použít odkazy na záznamy mimo tento kontext, což je rozdíl mezi těmito dvěma pojmy.

V další části začnete tyto koncepty prozkoumávat prací s vyhledávacím kódem Vlastník.

Zobrazení sloupců vlastníka záznamu

Každá tabulka v Dataverse zahrnuje sloupec Vlastník. Tento sloupec nelze odebrat, nemůžete přidat další takový a vždy vyžaduje hodnotu.

Chcete-li tento sloupec zobrazit v tabulce Účty:

  1. Přihlaste se do Power Apps

  2. V levém podokně vyberte Data > Tabulky.

  3. V seznamu tabulek vyberte Účty.

  4. V pravém horním rohu otevřete seznam filtrů (který je nastaven na Výchozí ve výchozím nastavení) a poté vyberte Všechno.

  5. Přejděte dolů, dokud se nezobrazí sloupec Vlastník.

    Sloupec Vlastník v tabulce Obchodní vztah.

Tento vyhledávací sloupec může odkazovat na záznam v tabulce Týmy nebo v tabulce Uživatelé. Ne každý záznam v těchto tabulkách má oprávnění být Vlastník ; pokud narazíte na problém, zkontrolujte podporované role.

Tento obrázek ukazuje jednoduchou galerii Účtů, kde tabulka Účty byla přidána do aplikace jako zdroj dat:

Účty zobrazené v ovládacím prvku Galerie.

Důležité

Obrázek v tomto tématu ukazuje některá jména další hodnoty, které nejsou součástí ukázkových dat dodávaných s Dataverse. Kroky přesně ukazují, jak nakonfigurovat ovládací prvky pro konkrétní výsledek, ale vaše prostředí se bude lišit v závislosti na datech vaší organizace.

Chcete-li zobrazit vlastníka každého účtu v galerii, můžete být v pokušení použít vzorec ThisItem.Owner.Name. Pole názvu v tabulce Týmy se však jmenuje Název týmu a pole názvu v tabulce Uživatelé je Celé jméno. Aplikace nemůže vědět, s jakým typem vyhledávání pracujete, dokud aplikaci nespustíte, a může použít různé záznamy v tabulce Účty.

Potřebujete vzorec, který se dokáže přizpůsobit této varianci. Musíte také přidat zdroje dat pro typy tabulek, kterými Vlastník může být (v tomto případě Uživatelé a Týmy). Přidejte do aplikace tyto tři zdroje dat:

Tabulky účtů, týmů a uživatelů v podokně Data.

S těmito zdroji dat použijte tento vzorec k zobrazení jména uživatele nebo týmu:

If( IsType( ThisItem.Owner, Teams ),
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Účty zobrazené v ovládacím prvku Galerie se zobrazeným polem Vlastník.

V tomto vzorci funkce IsType porovnává pole Vlastník s tabulkou Týmy. Pokud jde o tento typ tabulky, funkce AsType ho přetypuje na záznam Tým. V tomto okamžiku máte přístup ke všem polím tabulky Týmy, včetně Jména týmu pomocí notace .Pole. Když funkce IsType určí, že Vlastník není záznam v tabulce Týmy, musí být toto pole záznamem v tabulce Uživatelé, protože pole Vlastník je povinné (nemůže být prázdné).

Chcete-li použít libovolná pole odkazu na záznam, musíte nejprve použít funkci AsType pro přetypování na konkrétní typ tabulky. K polím nemůžete přistupovat přímo z pole Vlastník, protože systém neví, jaký typ tabulky chcete použít.

Funkce AsType vrátí chybu, pokud pole Vlastník neodpovídá požadovanému typu tabulky, takže můžete použít funkci IfError ke zjednodušení tohoto vzorce. Nejprve zapněte experimentální funkci Správa chyb na úrovni vzorců:

Experimentální zapnutí správy chyb na úrovni vzorců.

Poté nahraďte předchozí vzorec tímto:

IfError(
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Filtr na základě vlastníka

Gratulujeme - dokončili jste nejtěžší aspekt práce s referencí na záznam. Jiné případy použití jsou jednodušší, protože nemají přístup k polím záznamu. Jako příklad lze uvést filtrování, které prozkoumáte v této části.

Přidejte ovládací prvek Kombinované pole nad galerii a nastavte tyto vlastnosti nového ovládacího prvku:

  • Items: Users
  • SelectMultiple: false

Přidaný ovládací prvek Kombinované pole nad galerii s vlastností položky nastavenou na Uživatelé.

Pokud chcete galerii filtrovat podle konkrétního uživatele vybraného z tohoto pole se seznamem, nastavte vlastnost Items galerie na tento vzorec:

Filter( Accounts, Owner = ComboBox1.Selected )

Filtrovaná galerie na základě hodnoty nastavené v ovládacím prvku Kombinované pole.

Důležité

Pokyny v tomto tématu jsou přesné, pokud budete přesně postupovat. Jakýkoli vzorec, který odkazuje na ovládací prvek podle jeho názvu, však selže, pokud má ovládací prvek jiný název. Pokud odstraníte a přidáte ovládací prvek stejného typu, změní se číslo na konci názvu ovládacího prvku. U všech vzorců, které ukazují chybu, ověřte, že obsahují správné názvy všech ovládacích prvků.

Nemusíte používat IsType nebo AsType, protože porovnáváte odkazy na záznamy s jinými odkazy na záznamy nebo s plnými záznamy. Aplikace zná typ tabulky ve výrazu ComboBox1.Selected, protože je odvozen z tabulky Uživatelé. Účty, jejichž vlastníkem je tým, neodpovídají kritériu filtru.

Můžete se ještě více nadchnout podpořením filtrování podle uživatele nebo týmu.

  1. Vytvořte prostor v horní části obrazovky změnou velikosti galerie a přesunutím pole se seznamem, vložte ovládací prvek Přepínač nad galerii a pak nastavte tyto vlastnosti pro nový ovládací prvek:

    • Items: [ "All", "Users", "Teams" ]
    • Layout: Layout.Horizontal
  2. Pro ovládací prvek Kombinované pole nastavte tuto vlastnost (pokud pole se seznamem zmizí, vyberte Users v ovládacím prvku přepínač):

    • Visible: Radio1.Selected.Value = "Users"
  3. Zkopírujte a vložte ovládací prvek Kombinované pole, přesuňte kopii přímo nad originál a poté nastavte pro kopii tyto vlastnosti:

    • Items: Teams
    • Visible: Radio1.Selected.Value = "Teams"

    V závislosti na stavu ovládacího prvku přepínače aplikace zobrazí najednou pouze jedno pole se seznamem. Protože jsou přímo nad sebou, budou vypadat jako stejný ovládací prvek, který mění obsah.

  4. Nakonec nastavte vlastnost Items ovládacího prvku Galerie na tento vzorec:

    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)
    )
    

    Filtrovaná galerie zobrazující všechny záznamy nebo konkrétního uživatele nebo tým.

Pomocí těchto změn můžete zobrazit všechny záznamy nebo je filtrovat na základě uživatele nebo týmu:

Animace zobrazující různé filtrované výsledky založené na ovládacích prvcích Volič a Kombinované pole.

Vzorec je plně delegovatelný. Část, která porovnává hodnoty přepínače, je konstantní napříč všemi záznamy a je vyhodnocena před odesláním zbytku filtru do Dataverse.

Pokud chcete filtrovat podle typu vlastníka, můžete použít funkci IsType, ale zatím není možné ji delegovat.

Filtrování podle typu vlastníka pomocí IsType.

Aktualizace vlastníka pomocí opravy

Můžete aktualizovat pole Vlastník stejným způsobem jako jakékoli jiné vyhledávání. Nastavení aktuálně vybraného vlastníka účtu na první tým:

Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )

Tento přístup se neliší od běžného vyhledávacího kódu, protože aplikace zná typ První (Teams). Pokud chcete místo toho prvního uživatele, nahraďte tuto část volbou První (uživatelé). Funkce Patch ví, že se pole Vlastník dá nastavit na jeden z těchto dvou typů tabulek.

Postup přidání této možnosti do aplikace:

  1. V podokně Stromové zobrazení vyberte ovládací prvek Přepínač a dva ovládací prvky Kombinované pole současně.

  2. V nabídce se třemi tečkami vyberte Kopírovat tyto položky.

    Kopie více ovládacích prvků používající stromové zobrazení.

  3. Ve stejné nabídce vyberte Vložit.

    Vložení více ovládacích prvků používající stromové zobrazení.

  4. Přesuňte zkopírované ovládací prvky do pravé části galerie.

    Přesunuté zkopírované ovládací prvky do pravé části galerie.

  5. Vyberte zkopírovaný ovládací prvek Přepínač a pak změňte jeho vlastnosti:

    • Items: [ "Users", "Teams" ]
    • Výchozí: If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )

    Odebraná volba Vše z ovládacího prvku přepínač.

  6. V ovládacím prvku Přepínač vyberte Uživatelé, aby byl viditelný ovládací prvek Kombinované pole, který uvádí seznam uživatelů.

  7. Vyberte viditelný ovládací prvek Kombinované pole a nastavte vlastnost DefaultSelectedItems na tento vzorec:

    If( IsType( Gallery1.Selected.Owner, Users ),
        AsType( Gallery1.Selected.Owner, Users ),
        Blank()
    )
    

    Výchozí sada vlastností pro pole se seznamem Uživatelé.

  8. V ovládacím prvku Přepínač vyberte Teams, aby byl viditelný ovládací prvek Kombinované pole, který uvádí seznam týmů.

  9. Vyberte ovládací prvek Přepínač, aby se výběr odvrátil od nyní neviditelného ovládacího prvku Kombinované pole pro uživatele.

  10. Vyberte viditelný ovládací prvek Kombinované pole pro týmy a nastavte vlastnost DefaultSelectedItems na tento vzorec:

    If( IsType( Gallery1.Selected.Owner, Teams ),
        AsType( Gallery1.Selected.Owner, Teams ),
        Blank()
    )
    

    Výchozí sada vlastností pro pole se seznamem Teams.

  11. Vložte ovládací prvek Tlačítko, přesuňte ho pod ovládací prvek Kombinované pole a nastavte vlastnost Text tlačítka na "Patch Owner".

  12. Do vlastnosti OnSelect tlačítka nastavte tento vzorec:

    Patch( Accounts, Gallery1.Selected,
        { Owner: If( Radio1_1.Selected.Value = "Users",
                     ComboBox1_2.Selected,
                     ComboBox1_3.Selected ) } )
    

    Vzorec nastavený na ovládacím prvku Tlačítko.

Zkopírované ovládací prvky přepínač a Kombinované pole zobrazují vlastníka aktuálně vybraného účtu v galerii. Se stejnými ovládacími prvky můžete nastavit vlastníka účtu na libovolný tým nebo uživatele výběrem tlačítka:

Animace zobrazující opravu vlastníka s uživatelem nebo týmem.

Zobrazení vlastníka pomocí formuláře

Můžete předložit pole Vlastník uvnitř formuláře přidáním vlastní karty. V době psaní tohoto textu nemůžete změnit hodnotu pole pomocí ovládacího prvku formuláře.

  1. Vložte ovládací prvek Upravit formulář a poté změňte jeho velikost a přesuňte ho do pravého dolního rohu.

  2. Na kartě Vlastnosti na pravé straně obrazovky otevřete seznam Zdroj dat a vyberte Účty.

    Ovládací prvek Form zobrazující další pole s prázdnými hodnotami.

  3. Nastavte vlastnost Item formuláře na Gallery1.Selected.

    Ovládací prvek Form zobrazující další pole vyplněná z vybrané položky v galerii.

  4. Na kartě Vlastnosti na pravé straně obrazovky, vyberte Upravit pole.

  5. V podokně Pole vyberte tlačítko se třemi tečkami a potom Přidat vlastní kartu.

    Příkaz pro přidání vlastní karty.

    Nová karta se zobrazí ve spodní části ovládacího prvku formuláře.

  6. V případě potřeby změňte velikost karty, aby byl vidět všechen text.

    Vložená uživatelská karta, prázdná.

  7. Vložte ovládací prvek Popisek na vlastní kartu a poté nastavte vlastnost Text popisku podle vzorce, který jste použili v galerii:

    If( IsType( ThisItem.Owner, Teams ),
        "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
        "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
    

    Vlastní karta zobrazující pole Vlastník v ovládacím prvku popisku.

Pro každý výběr v galerii se ve formuláři objeví další pole účtu, včetně vlastníka záznamu. Pokud změníte vlastníka pomocí tlačítka Oprava, ovládací prvek Form tuto změnu také ukáže.

Animace ukazující ovládací prvek Form reagující na změny v galerii.

Zobrazení sloupců zákazníka

V Dataverse je vyhledávací sloupec Zákazník dalším polymorfním vyhledáváním, které je velmi podobné sloupci Vlastník.

Vlastník je omezen na jeden sloupec v tabulce, ale tabulky mohou obsahovat žádný, jeden nebo více vyhledávacích sloupců Zákazník. Systémová tabulka Kontakty obsahuje sloupec Název společnosti, což je vyhledávací sloupec Zákazník.

Tabulka kontaktů zobrazující sloupec Název společnosti jako datový typ Zákazník, který není vyžadován.

Další vyhledávací sloupce Zákazník můžete do tabulky přidat výběrem datového typu Zákazník pro nový sloupec.

Datový typ Zákazník v seznamu datových typů při vytváření sloupce.

Vyhledávací sloupec Zákazník může odkazovat na záznam v tabulce Účty nebo v tabulce Kontakty. U těchto tabulek budete používat funkce IsType a AsType, takže teď je ten správný čas přidat je jako zdroje dat (tabulky Týmy a Uživatelé nechte na místě).

Tabulky účtů, týmů, uživatelů a kontaktů v podokně Data.

Práce s poli Zákazník a Vlastník je natolik podobná, že můžete aplikaci doslova zkopírovat (Soubor > Uložit jako a pak zadat jiný název) a provést tyto jednoduché náhrady:

Umístění Ukázka Vlastník Ukázka Zákazník
Po celou dobu Vlastník Jméno zákazníka
Po celou dobu Uživatelé Obchodní vztahy
Po celou dobu Týmy Kontakty
Vlastnost Items galerie Obchodní vztahy Kontakty
Vlastnost Items formuláře Obchodní vztahy Kontakty
První argument opravy
ve vlastnosti OnSelect tlačítka
Obchodní vztahy Kontakty
Filtrování vlastnosti Items přepínače [ "All", "Users", "Teams" ] [ "Vše", "Účty", "Kontakty" ]
Vlastnost Items přepínače Oprava [ "Users", "Teams" ] [ "Účty", "Kontakty" ]
Vlastnost Visible prvku Kombinované pole "Users" a "Teams" "Účty" a "Kontakty"

Nová galerie by to například měla mít tuto vlastnost Items:

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)
)

Aplikace zákazníka odvozená od aplikace vlastníka s jednoduchými změnami.

Dva důležité rozdíly mezi Zákazník a Vlastník vyžadují aktualizaci vzorců uvnitř galerie a formuláře:

  1. Vztahy 1:N mezi tabulkami Účty a Kontakty mají přednost, když na tyto typy tabulek odkazujete názvem. Misto Účty použijte [@Účty]; místoKontakty použijte**[@Kontakty]**. Pomocí globálního operátoru víceznačnosti zajistíte, že ve funkcích IsType a AsType odkazujete na typ tabulky. Tento problém existuje pouze v kontextu záznamu galerie a ovládací prvky formuláře.

  2. V poli Vlastník musí být hodnota, ale pole Zákazník mohou být prázdná. Pokud chcete zobrazit správný výsledek bez názvu typu, otestujte tento případ pomocí funkce IsBlank a zobrazte místo toho prázdný textový řetězec.

Obě tyto změny jsou ve stejném vzorci, který se objeví na vlastní kartě ve formuláři a také ve vlastnosti Text ovládacího prvku popisku galerie:

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

Aktualizujte na vlastnost Text ovládacího prvku popisku titulků v galerii.

Pomocí těchto změn můžete zobrazit a změnit pole Název společnosti v tabulce Kontakty.

Animace, která ukazuje, jak výběr kontaktu změní ostatní ovládací prvky a formulář.

Principy činnosti vyhledávacích sloupců Týká se

Vyhledávací sloupec Týká se se trochu liší od těch, se kterými jste již v tomto tématu pracovali. Začnete tím, že použijete vzorce, které byly v tomto tématu popsány dříve, a pak jste se naučili jiné triky.

Můžete začít jednoduše s tabulkou Faxy. Tato tabulka má polymorfní vyhledávací sloupec Týká se, který může odkazovat na Účty, Kontakty a další tabulky. Můžete převzít aplikaci Zákazníci a modifikovat ji pro Faxy.

Umístění Ukázka Zákazník Ukázka Faxy
Po celou dobu Jméno zákazníka Týká se
Vlastnost Items galerie Kontakty Faxy
Vlastnost Items formuláře Kontakty Faxy
První argument opravy
ve vlastnosti OnSelect tlačítka
Kontakty Faxy

Znovu budete muset přidat zdroj dat: tentokrát pro Faxy. Na kartě Zobrazení vyberte možnost Zdroje dat:

Podokno Data zobrazující tabulky účtů, týmů, uživatelů, kontaktů a faxů.

Důležitý rozdíl pro Týká se je, že není omezen na Účty a Kontakty. Ve skutečnosti je seznam tabulek rozšiřitelný o vlastní tabulky. Většina aplikací může tento bod pojmout beze změn, ale musíte aktualizovat vzorec pro popisek v galerii a formulář:

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

Vlastnost Text byla aktualizována pro ovládací prvek titulek pro vyhledávací kódy Týká se.

Po provedení těchto změn budete pracovat s vyhledávacími poli Týká se stejně jako s vyhledávacími poli Vlastník a Zákazník.

Animace, která ukazuje, jak výběr položky v galerii změní ostatní ovládací prvky a formulář.

Principy vztahů mezi entitami

Týká se se liší od Vlastník a Zákazník, protože Vlastník zahrnuje vztah mnoho k jednomu. Reverzní vztah jeden ku mnoha ze své podstaty umožňuje zapsat vzorec First( Accounts ).Faxes.

Pojďme se vrátit a podívat se na definice tabulek. V Dataverse jsou tabulky jako Faxy, Úkoly, E-maily, Poznámky, Telefonní hovory, Dopisy a Chaty označeny jako aktivity. Můžete také vytvořit tabulky vlastních aktivit. Když zobrazíte nebo vytvoříte tabulku aktivit, její nastavení se zobrazí v části Další nastavení.

Nastavení tabulky aktivit při vytváření tabulky.

Jiné tabulky mohou souviset s tabulkou aktivit, pokud jsou v nastavení tabulky aktivovány coby úkol aktivity. Takto jsou označeny tabulky Účty, Kontakty a mnoho dalších standardních tabulek (opět v části Další nastavení).

Nastavení úkolu aktivit při vytváření tabulky.

Všechny tabulky aktivit a tabulky aktivita-úkol mají implicitní vztah. Pokud změníte v horní části obrazovky filtr na Vše, vyberete tabulku Faxy a poté vyberete kartu Vztahy, objeví se všechny tabulky, které mohou být cílem vyhledávání Týká se .

Vztahy tabulky Faxy, zobrazující vztahy N:1 typu Týká se.

Pokud zobrazíte vztahy pro tabulku Účty, objeví se všechny tabulky, které mohou být zdrojem vyhledávacího pole Týká se.

Vztahy tabulky Účty, zobrazující vztahy 1:N typu Týká se.

Co to všechno znamená?

  • Při psaní vzorců musíte vzít v úvahu, že seznam tabulek aktivit není pevně dán a můžete si vytvořit vlastní. Vzorec musí odpovídajícím způsobem zpracovat tabulku aktivit, kterou jste nečekali.
  • Úkoly aktivity a aktivity mají vztah jeden k mnoha. Můžete snadno požádat o všechny faxy, které se vztahují k účtu.

Chcete-li prozkoumat tento koncept v aplikaci:

  1. Přidejte další obrazovku.

    Vložte prázdnou obrazovku.

  2. Vložte ovládací prvek galerie, změňte jeho velikost a poté jej přesuňte na levou stranu obrazovky.

  3. Na kartě Vlastnosti na pravé straně obrazovky nastavte vlastnost galerie Položky na Účty.

    V podokně vlastností nastavte položky na účty.

  4. Nastavte rozložení galerie na Titul a poté nastavte pole názvu na Název účtu.

    V podokně vlastností nastavte Rozložení pro ovládací prvek galerie.

  5. přidejte druhou galerii, změňte její velikost a poté ji přesuňte na pravou stranu obrazovky.

  6. Nastavte novou vlastnost galerie Items na Gallery2.Selected.Faxes.

    Tento krok vrátí filtrovaný seznam faxů pro daný účet.

    Nastavte vlastnost Items galerie, která znázorňuje faxy.

  7. Nastavte rozložení galerie na Název a podtitul a poté nastavte pole názvu tak, aby zobrazovalo pole Předmět (může být i malými písmeny předmět).

    Nastavte název do pole Předmět.

Když vyberete položku v seznamu účtů, zobrazí se v seznamu faxů faxy pouze pro tento účet.

Animace zobrazující výběr v galerii účtů, která řídí seznam faxů.

Tabulka aktivit

Jak je popsáno v předchozí části, můžete zobrazit všechny faxy pro účet. Můžete však také zobrazit všechny aktivity účtu, včetně faxů, e-mailových zpráv, telefonních hovorů a dalších interakcí.

Pro druhý scénář použijte tabulku Aktivita. Tuto tabulku můžete zobrazit zapnutím možnosti Vše v pravém horním rohu, která odebere filtr ze seznamu tabulek.

Seznam tabulek zobrazujících tabulku aktivit.

Tabulka Aktivita je speciální. Kdykoli přidáte záznam do tabulky Faxy, systém také vytvoří záznam v tabulce Aktivita se sloupci, které jsou společné ve všech tabulkách aktivit. Z těchto sloupců je Předmět jedním z nejzajímavějších.

Všechny aktivity můžete zobrazit změnou pouze jednoho řádku v předchozím příkladu. Nahraďte Gallery2.Selected.Faxes Gallery2.Selected.Activities.

Změna vlastnosti položek pro druhou galerii, změna z faxů na aktivity.

Záznamy pocházejí z tabulky Aktivita, ale přesto můžete použít funkci IsType k identifikaci toho, o jaký druh činnosti jde. A znovu platí, že před použitím funkce IsType s typem tabulky musíte přidat zdroj dat.

Podokno dat zobrazující všechny tabulky požadované pro funkci IsType.

Pomocí tohoto vzorce můžete zobrazit typ záznamu v ovládacím prvku popisku v galerii:

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

Nastavte vlastnost text na vzorec tak, aby zobrazovala informace o faxech, telefonních hovorech a dalších aktivitách.

Můžete také použít AsType pro přístup k polím konkrétního typu. Například tento vzorec určuje typ každé aktivity, a u telefonních hovorů zobrazuje telefonní číslo a směr hovoru z tabulky Telefonní čísla:

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

Vlastnost rozšířeného textu s dalšími informacemi pro Telefonní hovor.

Výsledkem je, že aplikace zobrazuje úplný seznam aktivit. Pole Předmět se objeví pro všechny typy aktivit, ať už je vzorec vezme v úvahu nebo ne. U typů aktivit, o kterých víte, můžete zobrazit názvy typu a informace o jednotlivých aktivitách specifické pro daný typ.

Dokončená obrazovka zobrazující informace pro různé druhy aktivit.

Tabulka poznámek

Zatím všechny příklady vyhledávání Týká se byly založeny na aktivitách, ale tabulka Poznámky představuje jiný případ.

Když vytvoříte tabulku, můžete povolit přílohy.

Povolení příloh a poznámek při vytváření tabulky.

Pokud zaškrtnete políčko pro povolení příloh, vytvoříte vztah Týká se s tabulkou Poznámky, jak ukazuje tento obrázek pro tabulku Účty:

Tabulka Účty, zobrazující vztah s tabulkou Poznámky prostřednictvím vztahu 1:N.

Kromě tohoto rozdílu používáte vyhledávací pole týká se stejným způsobem, jakým používáte aktivity. Tabulky, které mají povolené přílohy, mají vztah 1:N s tabulkou Poznámky, jako v tomto příkladu:

First( Accounts ).Notes

Poznámka

V době psaní tohoto textu nebylo vyhledávání Týká se k dispozici u tabulky Poznámky. Na základě sloupce Týká se nelze číst ani filtrovat, a sloupec nelze nastavit pomocí funkce Patch.

Je však k dispozici zpětný vztah jeden ku mnoha pro Poznámky, takže můžete filtrovat seznam poznámek pro záznam, který má povoleny přílohy. Můžete také použít funkci Relate pro přidání poznámky k tabulce Poznámky záznamu, ale poznámku je nutné vytvořit jako první, jako v tomto příkladu:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )

Strany aktivity

V době psaní tohoto textu aplikace plátna nepodporovaly strany aktivity.

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).