Nis 20, 2014 - Formlar (Forms), X++    1 Yorum

Display Method Oluşturma

Dynamics Ax üzerinde display methodlar çok kullanışlıdır. Genelde karmaşık işlemlerin sonuçunda bir alanı ekran göstermek için kullanılır. Tablodan bir alan veya bir hesaplanmış işlem sonucu döndürülebilir.

Tabloların veya formların altına method olarak yazılarak bir çok kullanıcı ara yüzünde (Formlar ,Raporlar vs) kullanılabilir.

Display medhotların avantajları ve dezavantajları vardır.

Avantaj olarak kolay kullanım ve hızlı çözümü sayabiliriz. İstenilen her alanı tabloda açmak zorunda kalmıyorsunuz. İhtiyaca göre aynı method bir çok yerde kullanılabilir.

Dezavantaj olarak ise performansı alanın filitreleme sorunu sayabiliriz. Eğer forma çok fazla sayıda display method eklenirse formun performansı olumsuz yönde etkilenecektir. Ayrıca display alanlarda filitreleme yapılmaz.(Yapılmaz demek çok doğru değil aslında ama çok komplike bir işlem olduğu için yapılmaması daha doğrudur.)

Display Method oluşturmak için:

Eğer bir tablodan bir alan getirilecekse ve birden fazla yerde kullanılma durumu olabilirse tablonun altına yazmak doğrudur.

display dönüşTipi metodadı()
{
    //İşlemler
    return döndürülecekDeğer;
}


Örn :

Satış Siparişi (SalesTable) formuna Ürünün tipini(ItemType) display olarak getirelim.
Öncelikle ürün tipinin bulunduğu tabloyu bulmak lazım (InventTable). Daha sonra ItemId üzerinden ilişki kurulacak tablo altına yani SalesLine altına (tablo düğümü açılır Methods kısmına sağ tuş New Method denir) örnekteki kod yazılır.

display ItemType dispItemType()
{
    InventTable     inventTable;

    select firstonly inventTable
    where inventTable.ItemId == this.ItemId;

    return inventTable.ItemType;
}

Method yazımı tamamlandıktan sonra method formda(SalesTable formu) gösterilecek yere sürüklenir. Özelliklerinden Datasource özelliği ilgili datasource seçilir(SalesLine) ve işlem tamamlanmış olur.

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

1 Yorum

  • Data sources a yazılan metodlara da örnek verebilir misiniz?

    Teşekkürler…

Yorum Yazın...