Sdílet prostřednictvím


Funkce AsType a IsType

Platí pro: Aplikace plátna Modelem řízené aplikace Power Pages Rozhraní příkazového řádku Power Platform

Zkontroluje odkaz na záznam pro konkrétní typ tabulky (IsType) a považuje referenci za konkrétní typ (AsType).

Poznámka:

Příkazy PAC CLI pac power-fx nepodporují IsType.

Description

Přečtěte si část Principy odkazů na záznamy a polymorfního vyhledávání, kde najdete rozsáhlejší úvod a další podrobnosti.

Vyhledávací pole obvykle odkazuje na záznamy v konkrétní tabulce. Protože typ tabulky je dobře znám, můžete přistupovat k polím vyhledávání pomocí jednoduché tečkové notace. Například First( Účty ).'Primární kontakt'.'Celé jméno' přechází z tabulky Účty do záznamu Primární kontakt v tabulce Kontakty a extrahuje pole Celé jméno.

Microsoft Dataverse také podporuje polymorfní vyhledávací pole, která mohou odkazovat na záznamy ze sady tabulek, jako v těchto příkladech.

Vyhledávací pole Může odkazovat na
Vlastník Uživatelé nebo Týmy
Zákazník Obchodní vztahy nebo Kontakty
Týká se Obchodní vztahy, Kontakty, Články znalostí atd.

Ve vzorcích canvas-app použijte odkazy na záznamy pro práci s polymorfními vyhledáváními. Protože odkaz na záznam může odkazovat na různé tabulky, nevíte, která pole budou při psaní vzorce k dispozici. Notace Record.Field není k dispozici. Tyto vzorce se musí přizpůsobit záznamům, se kterými se aplikace při spuštění setkává.

Funkce IsType otestuje, jestli odkaz na záznam odkazuje na konkrétní typ tabulky. Funkce vrací logickou hodnotu TRUE nebo FALSE.

Funkce AsType považuje odkaz na záznam za specifický typ tabulky, někdy označovaný jako přetypování. Výsledek můžete použít, jako by to byl záznam tabulky, a znovu použít zápis Záznam.Pole pro přístup ke všem polím daného záznamu. Pokud odkaz není specifického typu, dojde k chybě.

Společným použitím těchto funkcí nejprve otestujte typ tabulky záznamu a poté s ním zacházejte jako se záznamem tohoto typu, aby byla pole k dispozici:

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

Tyto funkce potřebujete, pouze pokud přistupujete k polím odkazu na záznam. Například můžete použít odkazy na záznamy ve funkci Filter bez IsType nebo AsType:

Filter( Accounts, Owner = First( Users ) )

Podobně můžete použít odkazy na záznamy pomocí funkce Patch:

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

Pokud se používá v kontextu záznamu, například v rámci Gallery nebo ovládacího prvku Edit form, možná budete muset použít operátor globální víceznačnosti pro odkaz na typ tabulky. Tento vzorec by byl například účinný pro galerii, která zobrazuje seznam kontaktů, kde Název společnosti je vyhledávání pole Zákazník:

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

U obou funkcí určíte typ prostřednictvím názvu zdroje dat, který je připojen k tabulce. Aby vzorec fungoval, musíte do aplikace také přidat zdroj dat pro všechny typy, které chcete vyzkoušet nebo přetypovat. Například musíte přidat tabulku Uživatelé jako zdroj dat, pokud chcete použít funkce IsType a AsType s vyhledáváním Vlastník a záznamy z této tabulky. Můžete přidat pouze zdroje dat, které ve své aplikaci skutečně používáte; nemusíte přidávat všechny tabulky, na které by vyhledávání mohlo odkazovat.

Pokud je odkaz na záznam prázdný, funkce IsType vrátí FALSE a AsType vrátí prázdnou hodnotu. Všechna pole prázdného záznamu bude prázdná.

Syntaxe

AsType( OdkazNaZáznam, TypTabulky )

  • OdkazNaZáznam – povinné. Odkaz na záznam, často vyhledávací pole, které může odkazovat na záznam v kterékoli z více tabulek.
  • TypTabulky - Požadovaný. Konkrétní tabulka, do které má být záznam přetypován.

IsType( OdkazNaZáznam, TypTabulky )

  • OdkazNaZáznam – povinné. Odkaz na záznam, často vyhledávací pole, které může odkazovat na záznam v kterékoli z více tabulek.
  • TypTabulky - Požadovaný. Konkrétní tabulka, která bude testována.

Příklad

Téma Principy odkazů na záznamy a polymorfního vyhledávání obsahuje rozsáhlé příklady.

  1. Vytvořte prázdnou aplikaci plátna pro tablety.

  2. V levém podokně vyberte Data>Přidat data. A pak přidejte tabulky Účty a Kontakty.

    Prázdná aplikace se dvěma zdroji dat: obchodní vztahy a kontakty.

  3. V levém podokně vyberte + (Vložit) >Rozložení>Prázdná svislá galerie.

    Vložte ovládací prvek Galerie s rozložením Prázdná vertikální.

  4. Vyberte Připojit k datům a potom jako zdroj dat vyberte Kontakty.

  5. Nastavte rozložení galerie na Název a titulek.

    V podokně vlastností otevřete výběr rozvržení.

    Nastavte rozložení na Název a titulek.

  6. V podokně Data otevřete seznam Title1 a vyberte Celé jméno.

    Nastavte hodnotu názvu.

  7. Vyberte ovládací prvek popisku Subtitle1.

    Nastavte hodnotu titulku.

  8. Nastavte vlastnost Text ovládacího 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 nyní kompletní a zobrazuje obchodní vztahy a kontakty promíchané v galerii.

    Titulek v galerii zobrazuje tyto hodnoty:

    • „--“ pokud je 'Název společnosti' prázdný.
    • „Účet:“ a poté pole Název účtu z tabulky Účty, když Název společnosti odkazuje na účet.
    • „Účet:“ a poté pole Název účtu z tabulky Účty, když Název společnosti odkazuje na účet.

    Vaše výsledky se mohou lišit od výsledků v tomto tématu, protože používá ukázková data, která byla upravena, aby zobrazovala další typy výsledků.