Funkcijas AsType un IsType

Attiecas uz: Audekla programmām Modeļa vadītas programmas Power Platform CLI

Pārbauda ieraksta atsauci noteiktam tabulas tipam (IsType) un apstrādā atsauci kā noteiktu tipu (AsType).

Piezīmes

PAC CLI pac power-fx komandas neatbalsta IsType.

Apraksts

Izlasiet rakstu Ierakstu atsauču un polimorfismu uzmeklēšanu izprašana, lai iegūtu plašāku ievadu un detalizētāku informāciju.

Uzmeklēšanas lauks parasti attiecas uz ierakstiem noteiktā tabulā. Tā kā tabulas tips ir labi izveidots, uzmeklēšanas laukiem var piekļūt, izmantojot vienkāršu punktu notāciju. Piemēram, Vārds( Uzņēmumi ).'Primārā kontaktpersona'.'PIlns nosaukums' pāriet no tabulas Uzņēmumi uz tabulas Primārās kontaktpersonas ierakstu Kontaktpersona un izvelk lauku Pilns nosaukums.

Microsoft Dataverse atbalsta arī polimorfiskus uzmeklēšanas laukus, kuros var būt atsauces uz ierakstiem no tabulu kopas, kā tas ir norādīts šajos piemēros.

Uzmeklēšanas lauks Var attiekties uz
Atbildīgais Lietotāji vai Komandas
Klients Konti vai Kontaktpersonas
Attiecībā uz Konti, Kontaktpersonas, Zināšanu bāzes raksti u. tml.

Pamatnes programmu formulās izmantojiet ieraksta atsauces, lai strādātu ar polimorfu uzmeklēšanu. Tā kā ieraksta atsauce var norādīt uz dažādām tabulām, jūs zināt, kuri lauki būs pieejami, rakstot formulas. Notācija Record.Field nav pieejama. Šīm formulām ir jāpielāgojas ierakstiem, ko programma atrod pēc to izpildes.

IsType funkcija pārbauda, vai ieraksta atsauce attiecas uz konkrētu tabulas tipu. Funkcija atgriež Būla vērtību PATIESS vai APLAMS.

Izmantojot funkciju AsType, ieraksta atsauce tiek izmantota kā noteikts tabulas tips, dažkārt saukta arī par atskaņošanu. Rezultātu var izmantot tā, it kā tas būtu tabulas ieraksts, un atkal lietot lauku Record.Field notāciju, lai piekļūtu visiem šī ieraksta laukiem. Kļūda rodas, ja atsauce nav noteikta tipa atsauce.

Izmantojiet šīs funkcijas kopā, lai vispirms pārbaudītu ieraksta tabulas tipu un pēc tam to apstrādātu kā šāda tipa ierakstu, lai lauki būtu pieejami:

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

Šīs funkcijas ir nepieciešamas tikai tad, ja piekļūstat ieraksta atsauces laukiem. Piemēram, varat izmantot ieraksta atsauces funkcijā Filter bez funkcijas IsType vai AsType:

Filter( Accounts, Owner = First( Users ) )

Līdzīgi var izmantot ieraksta atsauces ar funkciju Patch:

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

Ja tas tiek izmantots ieraksta kontekstā, piemēram, Galerijas vai Veidlapas rediģēšanas vadīklā, iespējams, tabulas tipam ir jāizmanto globālais viennozīmīgais operators. Piemēram, šī formula varētu būt efektīva galerijā, kas rāda kontaktpersonu sarakstu, kur Uzņēmuma nosaukums ir Klienta uzmeklēšana:

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

Abām funkcijām jānorāda tips ar to datu nosaukumu datu avots, kas ir savienots ar tabulu. Lai formula darbotos, ir jāpievieno arī datu avots programmai visiem tipiem, ko vēlaties pārbaudīt vai pārvērst. Piemēram, tabula Lietotāji ir jāpievieno kā datu avots, ja vēlaties izmantot IsType un AsType ar Īpašnieka uzmeklēšanu un ierakstiem no šīs tabulas. Programmā varat pievienot tikai tos datu avotus, kurus faktiski izmantojat; nav jāpievieno visas tabulas, uz kurām uzmeklēšana varētu atsaukties.

Ja ieraksta atsauce ir tukšs, IsType atgriež APLAMS, un AsType atgriež tukšs. Visi tukšā ieraksta lauki būs tukši.

Sintakse

AsType( RecordReference, TableType)

  • RecordReference — nepieciešams. Ieraksta atsauce, bieži vien uzmeklēšanas lauks, kurā var būt atsauce uz ierakstu jebkurā no vairākām tabulām.
  • TableType - Obligāti. Noteikta tabula, uz kuru ierakstam jābūt atskaņotam.

IsType( RecordReference, TableType )

  • RecordReference — nepieciešams. Ieraksta atsauce, bieži vien uzmeklēšanas lauks, kurā var būt atsauce uz ierakstu jebkurā no vairākām tabulām.
  • TableType - Obligāti. Konkrētā tabula, kurai veikt testu.

Piemērs

Ieraksta atsauču un polimorfisku uzmeklēšanu izprašana ietver plašus piemērus.

  1. Tukšu pamatnes programmu izveide planšetdatoriem.

  2. Kreisajā rūtī atlasiet Dati>Pievienot datus. Pēc tam pievienojiet tabulas Uzņēmumi un Kontaktpersonas.

    Tukša programma ar diviem datu avotiem: konti un kontaktpersonas.

  3. Kreisajā rūtī atlasiet + (Ievietot) >Izkārtojums>Tukša vertikālā galerija.

    Galerijas vadīklas ievietošana ar tukšu vertikālu izkārtojumu.

  4. Atlasiet vienumu Izveidot savienojumu ar datiem un pēc tam atlasiet Kontaktpersonas kā datu avotu.

  5. Galerijas izkārtojuma iestatīšana uz Virsraksts un apakšvirsraksts.

    Atveriet izkārtojuma atlasītāju no rekvizītu rūts.

    Iestatiet izkārtojumu uz Virsraksts un apakšvirsraksts.

  6. Datu rūtī atveriet sarakstu Nosaukums 1 un pēc tam atlasiet Pilns nosaukums.

    Iestatiet virsraksta vērtību.

  7. Atlasiet Apakšvirsraksts 1 etiķetes vadīklu.

    Iestatiet subtitru vērtību.

  8. Iestatiet Apakšvirsraksta 1Teksta rekvizītam šādu 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'
    )
    

    Tagad ekrāns ir pabeigts, parādot galerijā sajauktus kontus un kontaktpersonas.

    Galerijas apakšvirsrakstā tiek rādītas šādas vērtības:

    • “--”, ja Uzņēmuma nosaukums ir tukšs.
    • "Uzņēmums: " Ja laukā Uzņēmuma nosaukums ir atsauce uz uzņēmumu, tabulas Uzņēmumi lauks Uzņēmuma nosaukums.
    • "Kontaktpersonas: " Ja laukā Uzņēmuma nosaukums ir atsauce uz kontaktpersonu, tabulas Kontaktpersonas lauks Uzņēmuma nosaukums.

    Rezultāti var atšķirties no šajā tēmā minētajām, jo tajā tiek izmantoti datu paraugi, kas tika modificēti, lai parādītu rezultātu papildu tipus.