Lõuendirakenduste funktsioonid AsType ja IsType

Kontrollib kirje viidet kindla olemi tüübile ( IsType) ja käsitletakse viidet kindla tüübina ( AsType).

Kirjeldus

Lugege jaotist Kirjete viited ja polümorfne otsing laiema kasutuselevõtu ja üksikasjalikuma teabe saamiseks.

Otsinguväli viitab tavaliselt kindla olemi kirjetele. Kuna olemi tüüp on hästi välja kujunenud, pääsete otsinguväljadele juurde lihtsa punkti märkimisega. Näiteks funktsioon First( Accounts ).'Primary Contact'.'Full Name' liigub olemist Accounts (Ettevõtted) olemi Contacts (Kontaktid) kirjesse Primary Contact (Esmakontakt) ekstraktib välja Full Name (Täisnimi).

Microsoft Dataverse toetab ka polümorfseid otsinguvälju, mis võivad viidata olemite kogumi kirjetele, nagu neis näidetes.

Otsinguväli Võib viidata ka
Omanik Users (Kasutajad) või Teams (Tiimid)
Klient Accounts (Ettevõtted) või Contacts (Kontaktid)
Seoses Accounts (Ettevõtted), Contacts (Kontaktid), Knowledge Articles (Teadmiste artiklid) jne.

Kasutage lõuendrakenduste valemites polümorfsete otsingutega töötamiseks kirjete viiteid. Kuna kirjeviide võib viidata erinevatele üksustele, ei tea te, millised väljad valemi kirjutamisel saadaval on. Märge Record.Field pole saadaval. Need valemid peavad kirjetega kohanema, mida rakendus käitamisel kasutab.

Funktsioon IsType (On tüüpi) kontrollib, kas kirje viide viitab kindlale olemi tüübile. Funktsioon tagastab tõeväärtuse tõene või väär.

Funktsiooni AsType (Tüüpi) käsitleb kirjeviidet kindla olemi tüübina, mida nimetatakse mõnikord ka tüübi muutmiseks. Te saate kasutada tulemust, nagu see oleks olemi kirje ning seejärel taas kasutada kirjet Record.Field, et saada ligi kõigile antud kirje väljadele. Tõrge ilmneb juhul, kui viide pole kindlat tüüpi.

Kasutage neid funktsioone koos, et esmalt testida kirje olemi tüüpi ja seejärel käsitleda selle konkreetse tüüpi kirjena, et väljad oleksid saadaval:

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

Neid funktsioone on vaja ainult juhul, kui pääsete juurde kirjeviite väljadele. Näiteks saate kirjeviiteid kasutada funktsiooniga Filter (Filtreeri) ilma funktsioonideta IsType või AsType.

Filter( Accounts, Owner = First( Users ) )

Samamoodi saate kasutada kirjeviiteid funktsiooniga Patch (Plaasterda).

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

Kui seda kasutatakse kirjekontekstis, näiteks juhtelemendis Gallery (Galerii) või Edit form (Redigeeri vormi) on võimalik, et peate kasutama globaalset tuvastamise tehtemärki, et viidata olemi tüübile. Näiteks oleks see valem efektiivne galeriis, kus kuvatakse kontaktide loend, kus Company Name (Ettevõtte nimi) on Customer (Klient) otsing.

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

Mõlema funktsiooni puhul määrate tüübi olemiga ühendatud andmeallika nime kaudu. Valemi toimimiseks peate rakendusele lisama ka andmeallika kõigi tüüpide jaoks, mida soovite testida või üle anda. Näiteks peate lisama andmeallikana olemi Users (Kaustajad), kui soovite otsinguga Owner (Omanik) kasutada funktsioone IsType (On tüüpi) ja AsType (Tüübina) ja selle olemi kirjeid. Saate lisada ainult neid andmeallikaid, mida oma rakenduses tegelikult kasutate. Te ei pea lisama kõiki üksusi, millele otsing viitab.

Kui kirjeviide on tühi, tagastab funktsioon IsType (On tüüpi) väärtuse väär ja funktsioon AsType (Tüübina) tagastab tühja väärtuse. Kõik tühja kirjega väljad on tühjad.

Süntaks

AsType( RecordReference, EntityType )

  • RecordReference (Kirjeviide) – nõutav. Kirjeviide, mis on sageli otsinguväli ja võib viidata mitme olemi kirjele.
  • EntityType (Olemi tüüp) – nõutav. Konkreetne olem, mida testida.

IsType( RecordReference, EntityType )

  • RecordReference (Kirjeviide) – nõutav. Kirjeviide, mis on sageli otsinguväli ja võib viidata mitme olemi kirjele.
  • EntityType (Olemi tüüp) – nõutav. Konkreetne olem, kuhu kirje tuleks esitada.

Näide

Kirjeviidete ja polümorfse otsingu mõistmine sisaldab ulatuslikke näiteid.

  1. Lõuendirakenduste loomine tahvelarvutitele.

  2. Valige vahekaardil View (Kuva) Data sources (Andmeallikad) ja lisage andmeallikatena olemid Contacts (Kontaktid) ja Accounts (Ettevõtted).

    Tühi rakendus kahe andmeallikaga: ettevõtted ja kontaktid

  3. Sisestage juhtelement Gallery (Galerii) tühja vertikaalse paigutusega.

    Sisestage galerii juhtelement tühja vertikaalse paigutusega

  4. Kuva paremas küljes oleval vahekaardil Properties (Atribuudid) määrake galerii atribuudi Items (Üksused) väärtuseks Contacts (Kontaktid).

    Üksuste seadmine kontaktidele atribuutide paanil

  5. Seadke galerii paigutuseks Title and subtitle (Pealkiri ja alapealkiri).

    Paigutuse valija avamine atribuutide paanil

    Sea paigutuseks Pealkiri ja alapealkiri

  6. Avage paanil Data (Andmed) loend Title1 ja valige seejärel Full Name (Täisnimi).

    Pealkirja seadmine

  7. Valige sildi juhtelement Subtitle1.

    Alapealkirja seadmine

  8. Määrake Subtitle1 atribuut Text (Tekst) järgmisele valemile.

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

    Ekraan on nüüd lõpetatud kuvades ettevõtted ja kontaktid, kes on galeriis segatud

    Galerii alapealkiri kuvab järgmised väärtused.

    • "--", kui 'Company Name' (Ettevõtte nimi) on tühi.
    • "Ettevõte: " ja seejärel olemi Accounts (Ettevõtted) väli Account Name (Ettevõtte nimi), kui väli Company Name (Ettevõtte nimi) viitab ettevõttele.
    • "Kontakt: " ja seejärel olemi Contacts (Kontaktid) väli Full Name (Täisnimi), kui väli Company Name (Ettevõtte nimi) viitab kontaktile.

    Teie tulemused võivad erineda teema tulemustest, kuna see kasutab näidisandmeid, mida muudeti erinevat tüüpi tulemuste kuvamiseks.