Делите путем


Функције АсТyпе и ИсТyпе

Односи се на: Апликације платна ЦЛИ апликације Power Pages Power Platform засноване на моделу

Проверава референцу записа за одређени тип табеле (IsType) и референцу третира као одређени тип (AsType).

Белешка

ПАЦ ЦЛИ пац повер-фкс команде не подржавају ИсТипе.

Опис

Прочитајте Објашњење референци записа и полиморфних проналажења за шири увод и више детаља.

Поље за проналажење се обично односи на записе у одређеној табели. Пошто је тип табеле добро успостављен, пољима претраживања можете приступити помоћу једноставне тачкасте нотације. На пример, First( Accounts ).'Primary Contact'.'Full Name' прелази са табеле Accounts на запис Primary Contact у табели Contacts и издваја поље Full Name.

Microsoft Dataverse такође подржава полиморфна поља за проналажење, која се могу односити на записе из скупа табела, као у овим примерима.

Поље за проналажење Може да се односи на
Власник Корисници или тимови
Купца Рачуни или контакти
У вези са Рачуни , контакти , чланци знања, итд.

У формулама апликација са подлогом, користите референце на записе за рад с полиморфним проналажењима. Будући да се референца записа може односити на различите табеле, не знате која поља ће бити доступна када напишете формулу. Нотација Record.Field није доступна. Те формуле морају да се прилагоде записима с којима се апликација сусреће при покретању.

Функција IsType тестира да ли се референца на запис односи на одређени тип табеле. Функција враћа логичку вредност TRUE или FALSE.

Функција AsType третира референцу записа као одређени тип табеле, који се понекад назива и експлицитна конверзија. Резултат можете користити као да је запис табеле и поново користити нотацију Record.Field за приступ свим пољима тог записа. До грешке долази ако референца није одређеног типа.

Користите ове функције заједно да прво тестирате тип табеле записа, а затим га третирате као запис тог типа тако да су поља доступна:

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

Ове функције су вам потребне само ако приступате пољима референце записа. На пример, можете користити референце записа у функцији Filter без IsType или AsType:

Filter( Accounts, Owner = First( Users ) )

Слично томе, можете користити референце записа са функцијом Patch:

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

Ако се користи у контексту записа, на пример у контроли Галерија или Образац за уређивање, можда ћете морати да користите оператер глобалног разјашњавања за референцу на тип табеле. На пример, ова формула би била ефикасна за галерију која приказује списак контаката где Назив предузећа представља проналажење клијента:

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

За обе функције, наведите тип кроз име извора података који је повезан са табелом. Да би формула функционисала, морате додати и извор података у апликацију за све типове које желите да тестирате или експлицитно конвертујете. На пример, морате додати табелу Корисници табелу као извор података ако желите да користите функције IsType и AsType са проналажењем Owner и записима из те табеле. Можете додати само изворе података које заиста користите у својој апликацији; не треба да додајете све табеле на које би се проналажење могло позивати.

Ако је референца записа празна, IsType враћа FALSE, а AsType враћа празно. Сва поља празног записа ће бити празна.

Синтакса

АсТyпе(РецордРеференце,ТаблеТyпе )

  • РецордРеференце - Обавезно. Референца на запис, често поље за проналажење које се може односити на запис у било којој од више табела.
  • ТаблеТипе - Обавезно. Одређена табела у коју треба експлицитно конвертовати запис.

ИсТипе ( РецордРеференце , ТаблеТyпе )

  • РецордРеференце - Обавезно. Референца на запис, често поље за проналажење које се може односити на запис у било којој од више табела.
  • ТаблеТипе - Обавезно. Одређена табела за коју треба тестирати.

Пример

Разумевање референци записа и полиморфних претрага садржи опсежне примере.

  1. Направите празну апликацију са подлогом за таблете.

  2. У левом окну изаберите Подаци>Додај податке. Затим додајте табеле Пословни контакти и Контакти.

    Празна апликација са два извора података: пословни контакти и контакти.

  3. У левом окну изаберите + (Убаци) >Распоред>Празна вертикална галерија.

    Уметање контроле галерије са празним усправним распоредом.

  4. Изаберите Повезивање са подацима, а затим изаберите Контакти као извор података.

  5. Подесите изглед галерије на Наслов и поднаслов.

    Отворите лаицер распореда из окна особина.

    Подесите распоред на наслов и титл.

  6. У окну Подаци, отворите листу Title1, а затим изаберите Пуно име.

    Подесите вредност наслова.

  7. Изаберите ознаку контроле Subtitle1.

    Подесите вредност титлова.

  8. Подесите својство Text контроле Subtitle1 на следећу формулу:

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

    Екран је сада завршен приказујући рачуне и контакте који се мешају у галерији.

    Поднаслов у галерији приказује ове вредности:

    • "--" ако је поље 'Назив предузећа' празно.
    • „Пословни контакт: “, а затим поље Назив пословног контакта из табеле Пословни контакти ако се поље Назив предузећа односи на пословни контакт.
    • „Контакт: “, а затим поље Име и презиме из табеле Контакти ако се поље Назив предузећа односи на контакт.

    Ваши резултати могу се разликовати од оних у овој теми, јер користе узорке података који су измењени да приказују додатне врсте резултата.