AsType ve IsType işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar Power Platform CLI

Belirli bir tablo türü (IsType) için kayıt başvurusunu denetler ve başvuruyu belirli bir tür (AsType) olarak değerlendirir.

Not

PAC CLI pac power-fx komutları, IsType işlevini desteklemez.

Description

Daha geniş bir tanıtım ve daha fazla ayrıntı için Kayıt başvurularını ve polimorfik aramaları anlama bölümünü okuyun.

Arama alanı genellikle belirli bir tablodaki kayıtlara başvurur. Tablo türü iyi belirlenmiş olduğundan, basit bir nokta gösterimi kullanarak aramanın alanlarına erişebilirsiniz. Örneğin, First( Firmalar ).'Birincil İlgili Kişi'.'Tam Ad' gösterimi Firmalar tablosundan İlgili Kişiler tablosundaki Birincil İlgili Kişi kaydına gidip Tam Ad alanını ayıklar.

Bu örneklerde olduğu gibi, Microsoft Dataverse, bir dizi tablonun kayıtlarına başvurabilen çok biçimli arama alanlarını da destekler.

Arama alanı Şuna başvurabilir
Sahip Kullanıcılar veya Takımlar
Müşteri Firmalar veya İlgili Kişiler
İlgili Firmalar, İlgili Kişiler, Bilgi Bankası Makaleleri, vb.

Tuval uygulaması formüllerinde, polimorfik aramalarla çalışmak için kayıt başvurularını kullanın. Kayıt başvurusu farklı tablolara başvurabileceğinden formül yazarken hangi alanların kullanılabileceğini bilemezsiniz. Record.Fieldgösterimi kullanılamıyor. Bu formüller, uygulamanın çalışırken karşılaştığı kayıtlara uyum sağlamalıdır.

IsType işlevi, bir kayıt başvurusunun belirli bir tablo türüne başvuruda bulunup bulunmadığını test eder. İşlev DOĞRU veya YANLIŞ bir Boole değeri döndürür.

AsType işlevi, kayıt başvurusunu yayınlama olarak da bilinen belirli bir tablo türü olarak kabul eder. Sonucu, tabloya ait bir kayıtmış gibi kullanabilir ve bu kaydın tüm alanlarına erişmek için Record.Field gösterimini tekrar kullanabilirsiniz. Başvuru belirli türde değilse bir hata oluşur.

Öncelikle bir kaydın tablo türünü test etmek için bu işlevleri birlikte kullanın ve ardından alanların kullanılabilir olması için bu türde bir kayıt olarak kabul edin:

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

Bu işlevlere yalnızca bir kayıt başvurusunun alanlarına erişiyorsanız ihtiyacınız vardır. Örneğin, Filter işlevinde IsType veya AsType olmadan kayıt başvurularını kullanabilirsiniz:

Filter( Accounts, Owner = First( Users ) )

Benzer olarak, Patch işleviyle kayıt başvurularını kullanabilirsiniz:

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

Gallery veya Edit form denetimi gibi bir kayıt bağlamında kullanılırsa tablo türüne başvurmak için genel kesinleştirme işlecini kullanmanız gerekebilir. Örneğin, bu formül Şirket Adı'nın Müşteri araması olduğu bir ilgili kişi listesi görüntüleyen galeri için etkili olacaktır:

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

Her iki işlev için de türü, tabloya bağlı olan veri kaynağının adıyla belirtirsiniz. Formülün çalışmasını sağlamak üzere test etmek veya dönüştürmek istediğiniz tüm türler için uygulamaya bir veri kaynağı da eklemeniz gerekir. Örneğin, IsType ve AsType ile birlikte bir Sahibi araması ve Kullanıcılar tablosundan kayıtları kullanmak isterseniz bu tabloyu veri kaynağı olarak eklemelisiniz. Yalnızca uygulamanızda gerçekten kullandığınız veri kaynaklarını ekleyebilirsiniz, aramanın başvurabileceği tüm tabloları eklemeniz gerekmez.

Kayıt başvurusu boş ise IsType YANLIŞ ve AsTypeboş değerini döndürür. Boş bir kaydın tüm alanları boş olur.

Sözdizimi

AsType( RecordReference, TableType )

  • RecordReference: Gerekli. Kayıt başvurusu genellikle birden çok tabloda bulunan bir kayda başvurabilen bir arama alanıdır.
  • TableType - Gereklidir. Kaydın yayınlanması gereken belirli bir tablo.

IsType( RecordReference, TableType )

  • RecordReference: Gerekli. Kayıt başvurusu genellikle birden çok tabloda bulunan bir kayda başvurabilen bir arama alanıdır.
  • TableType - Gereklidir. Test edilecek belirli bir tablo.

Örnek

Kayıt başvurularını ve polimorfik aramaları anlama konusu kapsamlı örnekler içerir.

  1. Tabletler için boş bir tuval uygulaması oluşturun.

  2. Sol bölmede, Veri>Veri ekle'yi seçin. Ardından, Firmalar ve İlgili Kişiler tablolarını ekleyin.

    İki veri kaynağı olan boş uygulama: firmalar ve ilgili kişiler.

  3. Sol bölmede, + (Ekle) >Düzen>Boş dikey galeri'yi seçin.

    Gallery denetimini boş dikey düzeniyle ekleme.

  4. Verilere bağlan'ı ve ardından veri kaynağı olarak İlgili Kişiler'i seçin.

  5. Galerinin düzenini Başlık ve alt başlık olarak ayarlayın.

    Özellikler bölmesinden düzen seçiciyi açma.

    Düzeni Başlık ve alt başlık olarak ayarlama.

  6. Veri bölmesinde, Başlık1 listesini açın ve sonra Tam Ad'ı seçin.

    Başlık değerini ayarlama.

  7. Alt Başlık1 label denetimini seçin.

    Alt başlık değerini ayarlama.

  8. Alt Başlık1 denetiminin Text özelliğini şu formül olarak ayarlayın:

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

    Ekran, artık galeride firmaları ve ilgili kişileri karışık şekilde gösterir.

    Galerideki alt başlık şu değerleri gösterir:

    • 'Şirket Adı'boş ise "--".
    • "Firma: " ve ardından Şirket Adı alanı bir firmaya başvuruyorsa Firmalar tablosundan Firma Adı alanı.
    • "İlgili Kişi: " ve ardından Şirket Adı alanı bir ilgili kişiye başvuruyorsa İlgili Kişiler tablosundan Tam Ad alanı.

    Uygulama, ek sonuç türlerini göstermek için değiştirilmiş örnek veriler kullandığı için sonuçlarınız bu konudaki sonuçlardan farklı olabilir.