11 Ağustos 2013 Pazar

Tablo Kalıtımı (Table Inheritance) Bölüm 3 : Uygulama - Temel ve Türetik Tablo Yaratma

İki Tablo Yaratmak


Bu bölümde önceden belirttiğimiz temel tablo TabInsan ve ondan türeyen türetik tablo TabOgretmeni olışturacağız.

TabInsan tablosunu oluşturmak için:


1. AOT'de DataDictionary düğümünü açın ve Tables düğümünü sağ klikleyin ve New Table seçeneğini seçin.
2. Açılan Properties penceresinde Name özelliğinin değerini TabInsan olarak değiştirin.
3. SupportInheritance özelliğinin değeri için açılan listesinden Yes değerini seçin.


  • Dikkat! Eğer SupportInheritance özelliğinin değerini Yes olarak seçemiyorsanız bunun nedeni tabloda halihazırda başka alanlar olmasından kaynaklanabilir. Değeri Yes olarak seçebilmeniz için öncelikle bu alanları silmelisiniz.

8 Ağustos 2013 Perşembe

Tablo Kalıtımı (Table Inheritance) Bölüm 2 : Ne Zaman Kullanmalı?

İki tablo arasında kalıtımın kullanılması düşünüldüğünde, tablolardan birinin temel(base) tablo, diğerinin türetik(derived) tablo olduğunu varsaymamız gerekir. Aşağıda belirtilen tüm koşulların hepsi doğru ise iki tablo arasında kalıtım tanımlanabilir:
  • Bu iki tablonun sistemdeki diğer tüm tablolardan hiçbiriyle ilişkisi olmadığını varsayarsak aralarında 1-n ya da n-n ilişki olmaması gerekir. Tek geçerli ilişki 1-1 dir.
  • Temel tablodaki bir satıra karşı gelen türetik tablodaki satırın gerçek dünyadaki aynı maddeye karşılık geliyor olması gerekir. Bu iki satır, aynı maddenin farklı özelliklerini(Attributes) belirtir.
  • Temel(base) tablodaki her bir satır, kesinlikle türetik(derived) tablodaki bir satıra karşılık gelmelidir.Eğer herhangi iki tablodan birinden bir satır silinirse, diğer tabloda karşılık gelen satırda silinmelidir.
  • Temel(base) tablo, büyük olasılıkla en az 2 tane türetik(derived) tabloya sahiptir.Bu türetik tablolar, farklı şeylerin farklı özellikleri için alanlar bulundurmaktadır. Bu türetik(derived) tablolar, Temel(base) tabloda birlikte takip edilen maddenin varyasyonlarına karşılık gelmektedir.
  • Temel(base) tabloda temsil edilen hiçbir madde, türetik tablolarının her birinde birden fazla  temsil edilmemelidir.
    • Not: Dynamics AX'da, sistem temel(base) tablodaki her bir kaydın, türetik tabloların birden fazlasıyla ilşkili olmasına engel olur. Bu, Microsoft ürün takımı tarafından verilmiş bir implemantasyon kararıdır.
  • Türetik(derived) tablo, performans iyileştirmesi için örneğin: ana tablosuna imaj kolonu koymak gibi değildir.
    • Not: Bir tablonun kalıtım ilişkisine sahip olmadığı durumlarda, SupportsInheritance özelliği Yes seçilirse küçük bir performans kaybı yaşanabilir. 

Tablo Kalıtımı (Table Inheritance) Bölüm 1 : Terminoloji

Dynamics AX 2012 ile gelen yeni özelliklerden bir tanesi tablolarda kalıtım. Bu yazıdan başlayarak, başta MSDN olmak üzere çeşitli kaynaklardan derlediğim bilgileri ve kendi notlarımı birleştirerek bu konuyu anlatmaya çalışacağım.

Öncelikle aşağıda geçen örnek objeler arasındaki ilişkileri belirtelim:

  • Canli sınıfı Object sınıfından türemiş (extend) olsun.
  • Insan sınıfı de Canli sınıfından türemiş olsun.
  • Son olarak da Ogretmen sınıfı Insan sınıfından
Object > Canli > İnsan > Ogretmen

2 Ağustos 2013 Cuma

Google Chrome Eklentisi "Context Menu Search" ve Dynamics AX için Arama Yapmak

Google'da Dynamics AX ile ilgili arama yapmak istediğinizde bulduğunuz veriler tatmin edici olmayabiliyor. Gerek kaynakların az olması gerekse aranan bilginin arama motorunda alt sıralarda olmasından ya da araya giren diğer alakasız arama sonuçlarından dolayı  Dynamics AX ile ilgili aramalar canınızı sıkabilir.

Tarayıcı olarak Chrome kullanan arkadaşlar, Context Menu Search eklentisini ve Dynamics AX için özelleştirilmiş BING aramasını kullanarak yukarıda bahsettiğim arama sıkıntısını giderebilir, arama sonuçlarından çok daha verimli sonuçlar alabilirler.