Funkcije AsType i IsType
Primjenjuje se na sljedeće: Aplikacije radnog područja CLI aplikacija Power Pages Power Platform utemeljenih na modelu
Provjerava referencu zapisa za određenu vrstu tablice (IsType) i referencu tretira kao određenu vrstu (AsType).
Napomena
PAC CLI pac power-fx naredbe ne podržavaju IsType.
Opis
Pročitajte Razumijevanje referenci zapisa i polimorfnog pretraživanja za širi uvid i više detalja.
Polje pretraživanja obično se odnosi na zapise u određenoj tablici. Budući da je vrsta tablice dobro uspostavljena, poljima pretraživanja možete pristupiti pomoću jednostavne notacije pomoću točaka. Na primjer, First( Accounts ).'Primary Contact'.'Full Name' ide od tablice Računi do zapisa Primarni kontakt u tablici Kontakti i izdvaja polje Puni naziv.
Microsoft Dataverse također podržava polimorfna polja pretraživanja koja se mogu odnositi na zapise iz niza tablica, kao u ovim primjerima.
Polje pretraživanja | Može se odnositi na |
---|---|
Vlasnik | Korisnici ili timovi |
Kupac | Računi ili kontakti |
Glede | Računi, kontakti, članci iz znanja itd. |
U formulama aplikacija od gotovih gradivnih elemenata koristite reference zapisa za rad s polimorfnim pretraživanjima. Budući da se referenca zapisa može odnositi na različite tablice, ne znate koja će polja biti dostupna kada napišete formulu. Notacija Record.Field nije dostupna. Te formule moraju se prilagoditi zapisima s kojima se aplikacija susreće pri pokretanju.
Funkcija IsType provjerava odnosi li se referenca zapisa na određenu vrstu tablice. Funkcija vraća Booleovu vrijednost TOČNO ili NETOČNO.
Funkcija AsType tretira referencu zapisa kao određenu vrstu tablice koja se ponekad naziva i konverzija. Rezultat možete koristiti kao da je zapis tablice i opet koristiti notaciju Record.Field za pristup svim poljima tog zapisa. Do pogreške dolazi ako referenca nije određene vrste.
Koristite ove funkcije zajedno za prvo testiranje vrste tablice zapisa, a zatim je tretirajte kao zapis te vrste tako da su polja dostupna:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Ove funkcije su vam potrebne samo ako pristupate poljima reference zapisa. Na primjer, možete koristiti reference zapisa u funkciji Filter bez IsType ili AsType:
Filter( Accounts, Owner = First( Users ) )
Slično tome, možete koristiti reference zapisa s funkcijom Patch:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Ako se koristi u kontekstu zapisa, na primjer u Galeriji ili kontroli Uredi obrazac, možda ćete trebati koristiti operator globalne višeznačnosti za referencu na vrstu tablice. Na primjer, ova bi formula mogla biti učinkovita za galeriju koja prikazuje popis kontakata u kojima je Naziv tvrtke pretraživanje za Klijent:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Za obje funkcije navedite vrstu kroz naziv izvora podataka koji je povezan s tablicom. Da bi formula funkcionirala, u aplikaciju morate dodati i izvor podataka za sve vrste koje želite testirati ili konvertirati. Na primjer, morate dodati tablicu Korisnici kao izvor podataka ako želite koristiti IsType i AsType s pretraživanjem Vlasnik i zapisima iz te tablice. Možete dodati samo izvore podataka koje zapravo koristite u svojoj aplikaciji; ne trebate dodavati sve tablice na koje bi se pretraživanje moglo odnositi.
Ako je referenca zapisa blank, IsType vraća NETOČNO, a AsType vraća blank. Sva polja zapisa blank biti će blank.
Sintaksa
AsType( ReferencaZapisa; VrstaTablice )
- RecordReference - Obavezno. Referenca zapisa, često polje pretraživanja koje se može odnositi na zapis u bilo kojoj od više tablica.
- TableType - obavezno. Određena tablica za koju bi zapis trebao biti konverzija.
IsType( ReferencaZapisa; VrstaTablice )
- RecordReference - Obavezno. Referenca zapisa, često polje pretraživanja koje se može odnositi na zapis u bilo kojoj od više tablica.
- TableType - obavezno. Određena tablica za koju se testira.
Primjer
Objašnjenje referenci zapisa i polimorfnih pretraživanja sadrži opsežne primjere.
Stvorite praznu aplikaciju radne površine za tablete.
U lijevom oknu odaberite Podaci>Dodaj podatke. I onda dodajte tablice Računi i Kontakti.
U lijevom oknu odaberite + (umetni) >Raspored>Prazna okomita galerija.
Odaberite Poveži se s podacima, a zatim odaberite Kontakti kao izvor podataka.
Postavite izgled galerije na Naslov i podnaslov.
U oknu Data otvorite popis Naslov1, a zatim odaberite Puni naziv.
Odaberite kontrolu oznake Subtitle1.
Postavite svojstvo Textt Subtitle1 na ovu formulu:
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' )
Podnaslov u galeriji pokazuje ove vrijednosti:
- "--" ako je 'Naziv tvrtke' prazno.
- „Račun:”, a zatim polje Naziv računa iz tablice Računi ako se polje Naziv tvrtke odnosi na račun.
- „Kontakt:”, a zatim polje Puni naziv iz tablice Kontakti ako se polje Naziv tvrtke odnosi na kontakt.
Vaši rezultati mogu se razlikovati od onih u ovoj temi jer koristi uzorak podataka koje je izmijenjen za prikaz dodatnih vrsta rezultata.