Бөлісу құралы:


AsType және IsType функциялары

Қолданылады: Canvas қолданбалары Үлгіге негізделген қолданбалар Power Platform CLI

Белгілі бір кесте түріне арналған жазба сілтемесін тексереді (IsType) және анықтаманы нақты түр ретінде қарастырады (AsType).

Ескертпе

PAC CLI pac power-fx пәрмендеріIsType қолданбасын қолдамайды.

Сипаттама

Кеңірек кіріспені және қосымша мәліметтерді алу үшін Жазба сілтемелерін және полиморфтық іздеулерді түсіну бөлімін оқыңыз.

Іздеу өрісі әдетте белгілі бір кестедегі жазбаларға жатады. Кесте түрі жақсы орнатылғандықтан, іздеу өрістеріне қарапайым нүктелік жазба арқылы қатынасуға болады. Мысалы, First( Accounts ).'Primary Contact'.'Full Name' жазба түрі Тіркелгілер кестесінен Контактілер кестесіндегі Негізгі контакт жазбасына өтеді және Толық аты өрісін шығарады.

Сондай‑ақ Microsoft Dataverse жүйесі осы мысалдардағыдай кесте жиынтығындағы жазбаларға сілтеме жасай алатын полиморфты іздеу өрістеріне қолдау көрсетеді.

Іздеу өрісі Мынаған сілтеме жасай алады
Жауапты адам Пайдаланушылар немесе Топтар
Тұтынушы Тіркелгілер немесе Контактілер
Қатысты Тіркелгілер, Контактілер, Білім қоры мақалалары, т.б.

Кенеп бағдарламасының формулаларында полиморфты іздеулермен жұмыс жасау үшін жазба сілтемелерін қолданыңыз. Жазба сілтемесі әртүрлі кестелерге сілтеме жасай алатындықтан, формула жазған кезде қандай өрістер қолжетімді болатынын білмейсіз. Жазба.Өріс нұсқауы қолжетімді емес. Бұл формулалар орындалғанда бағдарлама кездесетін жазбаларға бейімделуі керек.

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 or 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 функциясын Иесі іздеу өрісімен және сол кестедегі жазбалармен пайдалану қажет болса, Пайдаланушылар кестесін деректер көзі ретінде қосу керек. Сіз өзіңіздің бағдарламаңызда қолданатын деректер көздерін ғана қоса аласыз; іздеу сілтеме жасай алатын барлық кестелерді қосу қажет емес.

Егер жазбаға сілтеме blank (бос) болса, IsType функциясы FALSE мәнін қайтарады және AsType функциясы blank (бос) мәнін қайтарады. blank (бос) жазбаның барлық өрістері blank (бос) болады.

Синтаксис

AsType( RecordReference, TableType )

  • RecordReference - Міндетті. Жазбаға сілтеме, көбінесе кез келген кестедегі жазбаға сілтеме жасай алатын іздеу өрісі.
  • TableType - Міндетті. Жазба түсірілетін нақты кесте.

IsType( RecordReference, TableType )

  • RecordReference - Міндетті. Жазбаға сілтеме, көбінесе кез келген кестедегі жазбаға сілтеме жасай алатын іздеу өрісі.
  • TableType - Міндетті. Тексерілетін нақты кесте.

Мысал

Жазбаға сілтемелерді және полиморфтық іздеулерді түсіну бөлімі кең мысалдарды қамтиды.

  1. Планшеттер үшін бос кенеп бағдарламасын жасаңыз.

  2. Сол жақ тақтада Деректер>Деректер қосу тармағын таңдаңыз. Содан кейін, Тіркелгілер және Контактілер кестелерін қосыңыз.

    Екі деректер көздері бар бос бағдарлама: тіркелгілер мен контактілер.

  3. Сол жақ тақтада + (Кірістіру) >Орналасу>Бос тік галерея тармағын таңдаңыз.

    Бос тік орналасуы бар галерея басқару элементін кірістіріңіз.

  4. Деректерге қосылу түймешігін таңдаңыз, содан кейін Контактілер параметрін деректер көзі ретінде таңдаңыз.

  5. Галереяның орналасуын Тақырып және тақырыпша деп орнатыңыз.

    Сипаттар тақтасынан орналасу таңдау құралын ашыңыз.

    Орналасуды Тақырып пен субтитрге орнатыңыз.

  6. Деректер бөлігінде Title1 тізімін ашыңыз, содан кейін Толық аты-жөні параметрін таңдаңыз.

    Тақырып мәнін орнатыңыз.

  7. Subtitle1 белгісі басқару элементін таңдаңыз.

    Субтитр мәнін орнату.

  8. Subtitle1 элементінің Text сипатын мына формулаға орнатыңыз:

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

    Экран енді галереяда араласқан тіркелгілер мен контактілерді көрсететін аяқталды.

    Галереядағы тақырыпша мына мәндерді көрсетеді:

    • "--" 'Компания атауы'blank (бос) болса.
    • "Тіркелгі: " содан кейін егер Компания атауы өрісі тіркелгіге сілтеме жасаса, Тіркелгілер кестесіндегі Тіркелгі атауы өрісі.
    • "Контакт: " содан кейін егер Компания атауы өрісі контактіге сілтеме жасаса, Контактілер кестесіндегі Толық атауы өрісі.

    Сіздің нәтижелеріңіз осы тақырыптағы нәтижелерден өзгеше болуы мүмкін, өйткені ол қосымша нәтижелерді көрсету үшін өзгертілген үлгі деректерін пайдаланады.