Pack – Unpack Tasarım Deseni (Pack – Unpack Design Pattern)

Bir nesnenin en son durumunu (parametrelerini, değerlerini vb : saved state) kaydederek daha sonra tekrar kullanmak gerektiğinde Pack – Unpack yapısı kullanılmalıdır. Böylece aynı nesne aynı değerlerle tekrar oluşturulabilir.

Ayrıca nesnenin katmanlararası (istemci – sunucu : client – server) geçişi sözkonusu ise değerlerin transferi için yine Pack – Unpack yapısı gereklidir.

Dynamcis AX’ta debug yaparken değişkenlerin birden sıfırlandığına şahit olduysanız, ya da dialog metodu ile kullanıcıdan aldığınız değerlerin bir türlü işleme dahil olmadığını görüyorsanız sorun pack – unpack yapısının kullanılmamış olmasıdır. Çünkü nesne katmanlar aarası taşınırken değerleri taşınamaz.

Nesne sınıf ayrımı için ilgili makaleyi inceleyiniz.

Nesnelerin o anki istenen değerlerini kaydetmek için (save state) pack metodu kullanılır. Bu metod belirtilen değerleri bir container’e yazar ve kaydeder. Kaydedilmiş değerleri alıp kullanmak için ise Unpcak metodu kullanılmalıdır.

Okumaya devam et

Rapor boş, Test – Rapor

Mustafa Bey’in sorusu üzerine :

Dynamics AX’ta tüm raporlar için varsayılan bir özellik olan rapor boş mesajı kaldırılabilir mi?
Cevap elbette evet.

Bunun için raporunuzun init metoduna alttaki gibi bir satır eklemeniz yeterli olacaktır.


public void init()
{
    super();
    //Bu satırı ekleyin
    this.suppressReportIsEmptyMessage(true);
    //
}

Emre TÜFEKÇİ

İstanbul

www.atol.com.tr

Sınıfların nesne örneğini oluşturmak (Instantiating Application Objects)

Daha önce Koddan form çağırmak (kod ile form açmak) yazımızda bu konu ile ilgili temelleri paylaşmıştık. Şimdi Tasarım desenleri konusu ile ilgili kısımlarını ve teknik detaylarını paylaşacağız. Ancak bu konuya girmeden önce şunu belirtmekte fayda var :

Nesneleri (Form, rapor vb) açmak ve kullanmak için her zaman MenuItem kullanılmalıdır. MenuItem uygulamadaki API’ler olarak görülebilir. MenuItem, çalıştırılmak istenen uygulama ile kullanıcı arasında soyut bir katman oluşturur. Bu katman aracılığı ile de yetkinlikler kontrol edilir. Menu itemlarla ilgili daha detaylı bilgi için Menu Item tipleri ve kullanımı başlıklı yazıyı inceleyebilirsiniz.

Okumaya devam et

Sayfaya sığdırmak için, Test – Rapor raporu yüzde XX küçültüldü

Dizaynı neden ile büyük olan ve her seferinde Sayfaya sığdırmak için, Test – Rapor raporu yüzde XX küçültüldü şeklinde uyarı veren raporunuz varsa, raporunuzun init() metodunda alttaki değişikliği yaparak bu mesajı görmeyi engelleyebilirsiniz.


public void init()

{
    super();
    //Bu satırı ekleyin
    this.printJobSettings().suppressScalingMessage(true);
    //

}

Emre TÜFEKÇİ

İstanbul

www.atol.com.tr

Query nesneleri (Queries)-1

Bu makalemizde Dynamics AX’ta veri tabanına erişime nesne tabanlı bir çözüm sunan Query nesnelerini tanıtacağuz. Konu uzun olduğu için parçalara ayırarak yazacağım.

Ancak öngereksinim olarak Dynamics AX’taki table buffer kavramını bilmemiz gerekmektedir. Bu konunun detayları için Select Cümlecikleri ve Table Buffer konulu makaleleri inceleyiniz.

Dynamics AX’ta veri tabanına erişmenin ilk ve en kolay yolunun select cümlecikleri yazmak  olduğunu biliyoruz. Ancak Queryler select cümleciklerinden daha esnektir. Çünkü sorgular (Query) nesne yönelimli olarak düzenlenebilir. Böylece kullanıcıdan alınan değerlere göre dinamik sorgular oluşturulabilir. Basit bir sorguyu select ile yapmak çok daha kolay olmakla birlikte, kullanıcı ile etkileşime girerek dinamik sorgular oluşturmak söz konusu olduğunda query’ler kesin bir üstünlüğe sahiptir.

Okumaya devam et

Koddan form çağırmak (kod ile form açmak)

Daha önceki yazılarımda bir formu ya da raporu oluşturduktan sonra mutlaka menu itemını  oluşturmanız gerektiğinden bahsetmiştim. Bu menu item’ı ister bir menüye, isterseniz de bir forma ekleyerek kullanabilirsiniz. Bir form ya da rapor için varsayılan yöntem budur. Ancak bazen bu yöntem bize yetmez. Örneğin bir süreci programlarken bir formun açılmasını isteyebiliriz. Ya da elimizdeki kaydın bir alanının değerine göre birkaç rapordan bir tanesini seçip çalıştırmak isteyebiliriz. Bu durumda koddan form ya da rapor çağırmak gündeme gelir.

Okumaya devam et

Menu Item tipleri ve kullanımı

Menu Item Dynamics AX’ta kullanıcı arayüzlerini (Rapor, form gib) çağırmak için kullanılan işaretçiler (pointerlar) dır. Dynamcis AX’ta kullanıcı ile etkileşebilen üç temel nesne tipi ve her bir tip için birer menu item tipi vardır.

Çok kolayca formlar için Display, raporlar için Output, Classlar için ise Action tipinde menu item oluşturulur. Oluşturma işlemi için sadece formunuzu ya da raporunuzu ilgili tipteki menu itemların içine (Ör: AOT Menu ItemsDisplay) sürükleyip bırakmanız yeterli olacaktır. Ancak Menu itemlara mutlaka Label tanımlayın ayrıca güvenlik anahtarı (Security Key) tanımlayın.

Okumaya devam et

Form ve Raporlarda Dizayn Özellikleri

Formlar ve raporlar Dynamics AX’ın en temel kullanıcı arayüzleridir. Ne kadar güzel işler yaparsanız yapın, kullanıcılar gördüklerine göre değerlendirme yapacaklardır. Bu nedenle formların ve raporların düzaynı önemlidir.

Formlar için Designs Design düğümü üzerinde iken özellikler  penceresini (Alt + Enter) açarak özellikler düzenlenebilir. Form özellikler ile ilgili tavsiye edebileceğim noktalar şunlardır:

Okumaya devam et