Deli z drugimi prek


Funkciji AsType in IsType

Velja za: Aplikacije Canvas Aplikacije, ki temeljijo na modelu Power Pages Power Platform CLI

Preveri sklic na zapis za določeno vrsto tabele (IsType) in referenco obravnava kot določeno vrsto (AsType).

opomba,

Ukazi PAC CLI pac power-fx ne podpirajo IsType.

Description

Preberite razdelek Razumevanje sklicev zapisov in polimorfnih iskanj za obsežnejšo predstavitev in več podrobnosti.

Polje za iskanje se običajno nanaša na zapise v določeni tabeli. Ker je vrsta tabele dobro uveljavljena, lahko do polj iskanja dostopate s preprostim zapisom s pikami. Na primer možnost First( Accounts ).'Primary Contact'.'Full Name' se pomakne od tabele Računi na zapis Primarni stik v tabeli Stiki in izvleče polje Polno ime.

Microsoft Dataverse podpira tudi polimorfna polja za iskanje, ki se lahko nanašajo na zapise iz niza tabel, kot v teh primerih.

Polje za iskanje Se lahko sklicuje na
Lastnik Uporabniki ali Ekipe
Stranka Računi ali Stiki
Glede Računi, Stiki, Članki znanja itd.

V formulah aplikacije s platnom uporabite sklice zapisov za delo s polimorfnim iskanjem. Ker se sklic na zapis lahko nanaša na različne tabele, ne veste, katera polja bodo na voljo, ko napišete formulo. Zapis Record.Field ni na voljo. Te formule se morajo prilagoditi zapisom, s katerimi se aplikacija srečuje, ko se izvaja.

Funkcija IsType preveri, ali se sklic na zapis nanaša na določeno vrsto tabele. Funkcija vrne logično vrednost TRUE ali FALSE.

Funkcija AsType obravnava referenco zapisa kot določen tip tabele, včasih imenovan tudi pretvorba. Rezultat lahko uporabite kot zapis tabele in znova uporabite zapis Record.Field za dostop do vseh polj tega zapisa. Če sklic ni določene vrste, se pojavi napaka.

S temi funkcijami najprej preizkusite vrsto tabele za zapis in to nato obravnavajte kot zapis te vrste, tako da so polja na voljo:

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

Te funkcije potrebujete samo, če dostopate do polj sklica zapisa. Na primer, uporabite lahko sklice zapisov v funkciji Filter brez funkcije IsType ali AsType:

Filter( Accounts, Owner = First( Users ) )

Podobno lahko uporabite sklice zapisov s funkcijo Patch:

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

Če se uporablja v kontekstu zapisa, na primer znotraj kontrolnika Galerija ali Urejanje obrazca, boste morda morali uporabiti globalni operater za pojasnitev dvoma za sklicevanje na vrsto tabele. Na primer, ta formula bi bila učinkovita za galerijo, ki prikazuje seznam stikov, kjer je Ime podjetja iskanje za Stranka:

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

Za obe funkciji vrsto določite z imenom vira podatkov, ki je povezan s tabelo. Da bi formula delovala, morate tudi dodati vir podatkov v aplikacijo za vse vrste, ki jih želite preskusiti ali pretvoriti. Na primer, dodati morate tabelo Uporabniki kot vir podatkov, če želite uporabiti IsType in AsType z možnostjo iskanja Lastnik in zapise iz te tabele. Dodate lahko samo vire podatkov, ki jih dejansko uporabljate v svoji aplikaciji; vam ni treba dodati vseh tabel, na katere se lahko sklicuje iskanje.

Če je sklic zapisa prazen, funkcija IsType vrne FALSE, AsType pa vrne prazno. Vsa polja praznega zapisa bodo prazna.

Sintaksa

AsType( RecordReference, TableType )

  • RecordReference - Zahtevano. Referenca zapisa, pogosto polje za iskanje, ki se lahko nanaša na zapis v kateri koli od več tabel.
  • TableType - Zahtevano. Specifična tabela, v katero naj bo pretvorjen zapis.

IsType( RecordReference, TableType )

  • RecordReference - Zahtevano. Referenca zapisa, pogosto polje za iskanje, ki se lahko nanaša na zapis v kateri koli od več tabel.
  • TableType - Zahtevano. Specifična tabela, za katero je treba opraviti preskus.

Primer

Razumeti reference zapisov in polimorfna iskanja vsebuje obsežne primere.

  1. Ustvarite prazno aplikacijo s platnom za tablični računalnik.

  2. V levem podoknu izberite Podatki>Dodaj podatke. In potem dodajte tabeli Računi in Stiki.

    Prazna aplikacija z dvema viroma podatkov: kupci in stiki.

  3. V levem podoknu izberite + (Vstavljanje) >Postavitev>Prazna navpična galerija.

    Vstavljanje kontrolnika galerije s prazno navpično postavitvijo.

  4. Izberite Povezovanje s podatki in nato izberite Stiki kot vir podatkov.

  5. Nastavite postavitev galerije na Naslov in podnaslov.

    Odprite izbirnik postavitve v podoknu lastnosti.

    Nastavite postavitev na Naslov in podnaslov.

  6. V podoknu Podatki odprite seznam Title1 in nato izberite Polno ime.

    Nastavite vrednost naslova.

  7. Izberite kontrolnik oznake Subtitle1.

    Nastavite vrednost podnapisov.

  8. Lastnost Besedilo za Subtitle1 nastavite na to formulo:

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

    Zaslon je zdaj končan in prikazuje račune in stike, pomešane v galeriji.

    Podnaslov v galeriji prikazuje te vrednosti:

    • »--« če je 'Company Name' prazno.
    • »Račun: « in nato polje Ime računa iz tabele Računi, če se polje Ime podjetja sklicuje na račun.
    • »Stik: « in nato polje Polno ime iz tabele Stiki, če se polje Ime podjetja sklicuje na stik.

    Vaši rezultati se lahko razlikujejo od teh v tej temi, ker ta uporablja vzorčne podatke, ki so bili spremenjeni, da prikazujejo dodatne vrste rezultatov.