Komutlarla Power Fx kullanma

Bu makalede, Power Fx'in komut işlemleri ele alınmaktadır. Tuval uygulamaları içinde bugün kullanılan diğer işlevlerin çoğu da kullanılabilir. Komut işlemleri modeli temelli uygulamalar için olduğundan farklılıklar olduğunu unutmayın.

  • Mevcut tüm veri akışı işlevleri desteklenir. Veri akışları nelerdir?
  • Verilerle çalışan zorunlu işlevler desteklenmektedir.
  • Basit Confirm ve Notify için zorunlu işlevler desteklenir.
  • Desteklenmeyen işlevlerin listesi için Desteklenmeyen işlevler bölümüne gidin.

Not

Power Fx komutlarının yayımlanması birkaç dakika sürebilir. Yayımlama işlemi tamamlanmış gibi göründükten sonra bile arka plan işlemlerinin çalışmaya devam ettiği açıkça görülmeyebilir. Yayımladıktan sonra birkaç dakika beklemeniz ve ardından değişikliklerinizin yansıtıldığını görmek için uygulamayı yenilemeniz gerekebilir. Bu işlem, bir uygulama için Power Fx tabanlı bir komut ilk kez yayımlandığında genellikle daha uzun sürer.

OnSelect

Uygulama içinde düğme seçildiğinde yürütülen mantığı tanımlar.

Görünür

Uygulamayı çalıştırırken düğmeyi gizleme veya gösterme mantığını tanımlar.

Görünürlük mantığını tanımlamak için komutu seçin. Ardından sağ komut özellikleri bölmesinde Görünürlük öğesini seçin ve Formülden koşulda göster'i seçin. Formül çubuğunun solundaki Görünür seçeneğini belirleyip, formül çubuğunu kullanarak bir Power Fx ifadesi yazabilirsiniz.

Seçilen özellik

Alan Tür Açıklama
Öğe Veri Kaynağının Kaydı Veri kaynağından seçilen kayıtlardan biri.
AllItems Veri Kaynağındaki kayıtlar tablosu Veri kaynağından seçilen tüm kayıtlar.
Durum Numaralandırma Seçilen denetimin durumu. Düzenle (=0), Yeni (=1), Görünüm (=2)
Kaydedilmedi Boole Selected veya SelectedItems kaydedilmemiş değişikliklere sahipse doğru değerini döndürür. Aksi takdirde yanlış değerini döndürür. Otomatik Kaydet, komut bileşeni kitaplığında doğru (varsayılan seçenek) olarak ayarlanmışsa her zaman yanlış değerini döndürür.
  • Selected özelliği, komutun ana bilgisayarı tarafından sağlanır.
  • Öğe ve AllItems adları ComboBox denetimi ve Galeri denetimiyle tutarlıdır ancak bu yeni bir desendir.
  • Seçili kayıt yoksa, Öğe Boş döndürülür (IsBlank doğru döndürülür) ve AllItems boş bir tablo olarak döndürülür (IsEmpty değeri doğru döndürülür).
  • Kayıt referansları için Null Veri Kaynağı (çok biçimli kayıt türleri). Kaydet gibi genel işlevler çağrılabilir veya IsType/AsType kullanılabilir.
  • SelectionMax <> 1 olduğunda Öğe her zaman boş olur. Bu, formüllerin yalnızca bir öğeye yazılmasını ve birden fazla öğeye ölçeklendirilmemesini önler.

Otomatik Kaydet

  • Birçok JavaScript komutu, form arabelleğini kaydederek başlar. Bunun nedeni, kodun geri kalan kısmının birlikte çalışmasını kolaylaştırmaktır.
  • Varsayılan olarak, form arabelleği uygulama üreticisi adına kaydedilir.
    • Form, komut başlatılmadan önce kaydedilir.
    • Kaydetme işlemi sırasında oluşan herhangi bir problem formun Kullanıcı arabiriminde ele alınır.

Patch işlevi

Geçerli seçilen kaydı düzeltme (güncelleştirme)

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

Not

İlgili tablo zaten komut bileşeni kitaplığında değilse onu tuval stüdyosunda açmanız ve veri kaynağını buraya eklemeniz gerekir.

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

Tarih özelliğini denetleme ve düzenleme

If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))

Görünür özellik: Komutu yalnızca ızgara görünümünde bir veya daha fazla kayıt seçilmişse göster

CountRows(Self.Selected.AllItems) > 0

Kayıt verilerine dayalı olarak görünürlüğü denetleme

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

Not

Ek seçenekler için, JavaScript kullanmak üzere istemci API başvurusuna bakın. Daha fazla bilgi: navigateTo (İstemci API başvurusu)

Model temelli uygulamadaki özel bir tuval sayfasına gitmek için, sayfa adını ilk bağımsız değişken olarak iletin.

Navigate( myCustomPage )

Tablonun varsayılan görünümüne gitmek için tablo adını ilk bağımsız değişken olarak aktarın.

Navigate( Accounts )

Tablonun belirli bir sistem görünümüne gitmek için tablonun Views numaralandırmasını geçirin.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Tablonun varsayılan formuna gitmek için kaydı ilk bağımsız değişken olarak geçirin.

Navigate( Gallery1.Selected )

Tablonun varsayılan formuna gitmek için Varsayılanlar işlevinden oluşturulan bir Dataverse kaydı geçirin. Bu, kayıtla birlikte varsayılan formu yeni bir kayıt olarak açar. Varsayılanlar işlevi, kaydı oluşturmak için tablo adını alır.

Navigate( Defaults( Accounts ) )

Veri kaynağı ve kayıt bilgileriyle kullanıcı deneyimini optimize etme

Görüntülenen ve değiştirilen verilerle ilgili bilgilerle kullanıcı deneyimini optimize etmek için DataSourceInfo işlevi ve RecordInfo işlevini kullanın.

Örneğin, geçerli kullanıcının Visible özelliğini kullanarak kaydı değiştirmek ve "Düzenle" düğmesini uygun şekilde göstermek veya gizlemek için izni olup olmadığını belirlemek üzere RecordInfo işlevini kullanın:

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

Örneğin, geçerli kullanıcının Görünür özelliğini kullanarak bir kayıt oluşturma iznine sahip olup olmadığını ve uygun şekilde "Oluştur" düğmesini gösterme veya gizleme iznine sahip olup olmadığını belirlemek için DataSourceInfo öğesini kullanın:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

Eylem gerçekleştirmeden önce onay isteme

Geçerli ekranın üst kısmında bir iletişim kutusu görüntülemek için Onayla işlevini kullanın.

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

Evet düğmesine basıldığında bildirim Doğru, Hayır düğmesine basıldığında ise Yanlış bildirimi görüntüler.

Kullanıcıya bildirme

Bir bildirim, uygulama kullanıcılarına Notify işlevi çağrılarak gösterilebilir.

Not

NotificationType.Success, şu anda desteklenmemektedir ve bir bilgilendirici bildirim türü oluşturur.

Notify( "Model-driven app notification message" )

Diğer örnekler

URL başlatma

Launch("https://www.bing.com");

Erişim 1:N özelliği

Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"

Desteklenmeyen işlevler

Aşağıdaki Power Fx işlevlerinin şu anda model temelli uygulamalarda komut verme desteği yoktur.

  • Back()
  • Clear()
  • Collect()
  • Copy()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Numaralandırmalar desteklenmez

  • Align
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Color
  • Direction
  • DisplayMode
  • Font
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Layout
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Overflow
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Themes
  • Transition
  • VerticalAlign
  • VirtualKeyboardMode
  • Zoom

Diğer desteklenmeyen alanlar

  • Acceleration
  • App
  • Compass
  • Connection
  • Dataverse dosya türü sütunları
  • Environment
  • Ana Bilgisayar
  • Layout
  • Konum
  • ScreenSize

Ayrıca bkz.

Davranış formüllerini anlama

Formül başvurusu

Power Fx'e genel bakış