Funkcije AsType i IsType
Odnosi se na: Aplikacije platna CLI aplikacije Power Pages Power Platform zasnovane na modelu
Proverava referencu zapisa za određeni tip tabele (IsType) i referencu tretira kao određeni tip (AsType).
Belešku
PAC CLI pac pover-fks komande ne podržavaju IsTipe.
Opis
Pročitajte Objašnjenje referenci zapisa i polimorfnih pronalaženja za širi uvod i više detalja.
Polje za pronalaženje se obično odnosi na zapise u određenoj tabeli. Pošto je tip tabele dobro uspostavljen, poljima pretraživanja možete pristupiti pomoću jednostavne tačkaste notacije. Na primer, First( Accounts ).'Primary Contact'.'Full Name' prelazi sa tabele Accounts na zapis Primary Contact u tabeli Contacts i izdvaja polje Full Name.
Microsoft Dataverse takođe podržava polimorfna polja za pronalaženje, koja se mogu odnositi na zapise iz skupa tabela, kao u ovim primerima.
Polje za pronalaženje | Može da se odnosi na |
---|---|
Vlasnik | Korisnici ili timovi |
Kupca | Računi ili kontakti |
U vezi sa | Računi, kontakti, članci znanja, itd. |
U formulama aplikacija sa podlogom, koristite reference na zapise za rad s polimorfnim pronalaženjima. Budući da se referenca zapisa može odnositi na različite tabele, ne znate koja polja će biti dostupna kada napišete formulu. Notacija Record.Field nije dostupna. Te formule moraju da se prilagode zapisima s kojima se aplikacija susreće pri pokretanju.
Funkcija IsType testira da li se referenca na zapis odnosi na određeni tip tabele. Funkcija vraća logičku vrednost TRUE ili FALSE.
Funkcija AsType tretira referencu zapisa kao određeni tip tabele, koji se ponekad naziva i eksplicitna konverzija. Rezultat možete koristiti kao da je zapis tabele i ponovo koristiti notaciju Record.Field za pristup svim poljima tog zapisa. Do greške dolazi ako referenca nije određenog tipa.
Koristite ove funkcije zajedno da prvo testirate tip tabele zapisa, a zatim ga tretirate kao zapis tog tipa 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 primer, 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 sa funkcijom Patch:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Ako se koristi u kontekstu zapisa, na primer u kontroli Galerija ili Obrazac za uređivanje, možda ćete morati da koristite operater globalnog razjašnjavanja za referencu na tip tabele. Na primer, ova formula bi bila efikasna za galeriju koja prikazuje spisak kontakata gde Naziv preduzeća predstavlja pronalaženje klijenta:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Za obe funkcije, navedite tip kroz ime izvora podataka koji je povezan sa tabelom. Da bi formula funkcionisala, morate dodati i izvor podataka u aplikaciju za sve tipove koje želite da testirate ili eksplicitno konvertujete. Na primer, morate dodati tabelu Korisnici tabelu kao izvor podataka ako želite da koristite funkcije IsType i AsType sa pronalaženjem Owner i zapisima iz te tabele. Možete dodati samo izvore podataka koje zaista koristite u svojoj aplikaciji; ne treba da dodajete sve tabele na koje bi se pronalaženje moglo pozivati.
Ako je referenca zapisa prazna, IsType vraća FALSE, a AsType vraća prazno. Sva polja praznog zapisa će biti prazna.
Sintaksa
AsType(RecordReference,TableType )
- RecordReference - Obavezno. Referenca na zapis, često polje za pronalaženje koje se može odnositi na zapis u bilo kojoj od više tabela.
- TableTipe - Obavezno. Određena tabela u koju treba eksplicitno konvertovati zapis.
IsTipe ( RecordReference, TableType )
- RecordReference - Obavezno. Referenca na zapis, često polje za pronalaženje koje se može odnositi na zapis u bilo kojoj od više tabela.
- TableTipe - Obavezno. Određena tabela za koju treba testirati.
Primer
Razumevanje referenci zapisa i polimorfnih pretraga sadrži opsežne primere.
Napravite praznu aplikaciju sa podlogom za tablete.
U levom oknu izaberite Podaci>Dodaj podatke. Zatim dodajte tabele Poslovni kontakti i Kontakti.
U levom oknu izaberite + (Ubaci) >Raspored>Prazna vertikalna galerija.
Izaberite Povezivanje sa podacima, a zatim izaberite Kontakti kao izvor podataka.
Podesite izgled galerije na Naslov i podnaslov.
U oknu Podaci, otvorite listu Title1, a zatim izaberite Puno ime.
Izaberite oznaku kontrole Subtitle1.
Podesite svojstvo Text kontrole Subtitle1 na sledeću 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 prikazuje ove vrednosti:
- "--" ako je polje 'Naziv preduzeća' prazno.
- „Poslovni kontakt: “, a zatim polje Naziv poslovnog kontakta iz tabele Poslovni kontakti ako se polje Naziv preduzeća odnosi na poslovni kontakt.
- „Kontakt: “, a zatim polje Ime i prezime iz tabele Kontakti ako se polje Naziv preduzeća odnosi na kontakt.
Vaši rezultati mogu se razlikovati od onih u ovoj temi, jer koriste uzorke podataka koji su izmenjeni da prikazuju dodatne vrste rezultata.