Funkcie AsType a IsType

Platí pre: aplikácie plátna aplikácie riadené modelom Power Platform CLI

Skontroluje odkaz na záznam pre konkrétny typ tabuľky (IsType) a zaobchádza s referenciou ako so špecifickým typom (AsType).

Poznámka

PAC CLI príkazy pac power-fx nepodporujú IsType.

Description

Prečítajte si Porozumenie referenciám na záznamy a polymorfným vyhľadávaniam pre širší úvod a ďalšie podrobnosti.

Vyhľadávacie pole zvyčajne odkazuje na záznamy v konkrétnej tabuľke. Pretože je typ tabuľky dobre zavedený, môžete získať prístup k poliam vyhľadávania pomocou jednoduchej bodkovej notácie. Napríklad First( Accounts ).'Primary Contact'.'Full Name' prejde z tabuľky Accounts na záznam Primary Contact v tabuľke Contacts a extrahuje pole Full Name.

Microsoft Dataverse podporuje aj polymorfné vyhľadávacie polia, ktoré môžu odkazovať na záznamy z množiny tabuliek, ako v týchto príkladoch.

Vyhľadávacie pole Môže odkazovať na
Vlastník Používatelia alebo Tímy
Zákazník Obchodné vzťahy alebo Kontakty
Týka sa Obchodné vzťahy, Kontakty, Články vedomostnej databázy, atď.

Vo vzorcoch aplikácie plátna používajte odkazy na záznamy pri práci s polymorfnými vyhľadávaniami. Pretože odkaz na záznam môže odkazovať na rôzne tabuľky, neviete, ktoré polia budú k dispozícii pri písaní vzorca. Záznam Record.Field nie je k dispozícii. Tieto vzorce sa musia prispôsobiť záznamom, s ktorými sa aplikácia stretne pri spustení.

Funkcia IsType testuje, či sa odkaz na záznam vzťahuje na konkrétny typ tabuľky. Funkcia vráti logickú hodnotu PRAVDA alebo NEPRAVDA.

Funkcia AsType zaobchádza s odkazom na záznam ako so špecifickým typom tabuľky, ktorá sa niekedy označuje ako pretypovacia. Výsledok môžete použiť, akoby išlo o záznam tabuľky, a znova použiť zápis Záznam.Pole pre prístup do všetkých polí tohto záznamu. Ak referencia nie je špecifického typu, vyskytne sa chyba.

Pomocou týchto funkcií môžete najskôr otestovať typ tabuľky záznamu a potom s ním zaobchádzať ako so záznamom daného typu, aby boli polia k dispozícii:

If( IsType( First( Accounts ).Owner, Users ),
    AsType( First( Accounts ).Owner, Users ).'Full Name',
    AsType( First( Accounts ).Owner, Teams ).'Team Name'
)

Tieto funkcie potrebujete iba v prípade, že máte prístup k poliam s odkazom na záznam. Napríklad môžete použiť odkazy na záznamy vo funkcii Filter bez IsType alebo AsType:

Filter( Accounts, Owner = First( Users ) )

Podobne môžete použiť odkazy na záznamy pomocou funkcie Patch:

Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )

Ak sa používa v kontexte záznamu, napríklad v rámci ovládacieho prvku Galéria aleboUpraviť formulár, možno budete musieť použiť operátor globálneho odlišovania na odkazovanie na typ tabuľky. Tento vzorec by bol napríklad účinný pre galériu, ktorá zobrazuje zoznam kontaktov, kde Názov spoločnosti je vyhľadávaním Zákazník:

If( IsType( ThisItem.'Company Name', Accounts ),
    AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

Pre obidve funkcie zadáte typ pomocou názvu zdroja údajov, ktorý je pripojený k tabuľke. Aby vzorec fungoval, musíte do aplikácie pridať zdroj údajov pre všetky typy, ktoré chcete testovať alebo pretypovať. Napríklad musíte pridať tabuľku Používatelia ako zdroj údajov, ak chcete použiť IsType a AsType s vyhľadávaním Vlastníka a záznamy z tejto tabuľky. Môžete pridať iba zdroje údajov, ktoré skutočne používate vo svojej aplikácii; nemusíte pridávať všetky tabuľky, na ktoré by vyhľadávanie mohlo odkazovať.

Ak je odkaz na záznam prázdny, IsType vráti NEPRAVDA a AsType vráti prázdnu hodnotu. Všetky polia prázdneho záznamu budú prázdne.

Syntax

AsType (RecordReference, TableType)

  • RecordReference – povinné. Odkaz na záznam, často vyhľadávacie pole, ktoré môže odkazovať na záznam v ktorejkoľvek z viacerých tabuliek.
  • TableType – povinné. Konkrétna tabuľka, do ktorej by sa mal záznam pretypovať.

IsType (RecordReference, TableType)

  • RecordReference – povinné. Odkaz na záznam, často vyhľadávacie pole, ktoré môže odkazovať na záznam v ktorejkoľvek z viacerých tabuliek.
  • TableType – povinné. Konkrétna tabuľka, pre ktorú sa má testovať.

Príklad

Porozumenie referenciám na záznamy a polymorfným vyhľadávaniam obsahuje rozsiahle príklady.

  1. Vytvorte prázdnu aplikáciu plátna pre tablety.

  2. Na ľavej table vyberte Údaje>Pridať údaje. A potom pridajte tabuľky Obchodné vzťahy a Kontakty.

    Prázdna aplikácia s dvoma zdrojmi údajov: obchodné vzťahy a kontakty.

  3. Na ľavej table vyberte možnosť + (Vložiť) >Rozloženie>Prázdna vertikálna galéria.

    Vloženie ovládacieho prvku Galéria s orientáciou Prázdne vertikálne.

  4. Vyberte Pripojiť k údajom a potom vyberte Kontakty ako zdroj údajov.

  5. Nastavte rozloženie galérie na Nadpis a podnadpis.

    Otvorte výber rozloženia z tably vlastností.

    Nastavte rozloženie na názov a podnadpis.

  6. Na table Údaje otvorte zoznam Title1 a potom vyberte Celé meno.

    Nastavte hodnotu titulku.

  7. Vyberte ovládací prvok označenia Subtitle1.

    Nastavte hodnotu titulkov.

  8. Nastavte vlastnosť Text prvku Subtitle1 na tento vzorec:

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

    Obrazovka je teraz dokončená a zobrazuje účty a kontakty zmiešané v galérii.

    Podnadpis v galérii zobrazuje tieto hodnoty:

    • „--“, ak je 'Názov spoločnosti' is prázdny.
    • „Obchodný vzťah:“ a potom pole Názov obchodného vzťahu z tabuľky Obchodné vzťahy , ak pole Názov spoločnosti odkazuje na obchodný vzťah.
    • „Kontakt:“ a potom pole Celý názov z tabuľky Kontakty , ak pole Názov spoločnosti odkazuje na kontakt.

    Vaše výsledky sa môžu líšiť od výsledkov v tejto téme, pretože používa vzorové údaje, ktoré boli upravené tak, aby zobrazovali ďalšie typy výsledkov.