Dynamics AX uygulama dosya uzantıları (Application file extensions)

Dynamics AX için bir çok dosya uzantısı mevcut. Bu uzantı isimlerinin belli bir mantığı vardır.

Dosyaların çoğu Ax 2009 için uygulama kalsöründedir. Yolu şöyle:

C:\Program Files\Microsoft Dynamics AX\50\Application\Appl\[your_application]

Uzantılar  3 karakterdir:

Birinci karakter dosyanın sahibini belirtir:

a: application (Uygulama)

k: kernel (Çekirdek)

İkinci karakter dosya içeriğini belirtir:

l: label

o: object

t: text

d: developer documentation

h: help

Üçüncü karakter dosya tipini belirtir:

d: data

i: index

c: cache

t: temporary

Bu mantiği kullarak dosyaları kolayca tanıyabiliriz.

Uygulama klasöründe:

Read more

Microsoft Dynamics AX 2009 Development Academy Eğitimi

Süre: 9-10-16-17-23-24-30-31 Mart/ 6-7-13-14-20-21 Nisan

Kurs Hakkında: Bu eğitim, katılımcıları en temel düzeyden başlayarak Dynamics Ax içinde geliştirme yapabilecek seviyeye getirmeyi amaçlamaktadır. Eğitim süresince Dynamics AX geliştirici adayının gerçek ortamda karşılaşabileceği örnekler incelenerek hedefe yönelik çalışmalar yapılmaktadır.

Katılımcı Profili: Dynamics AX geliştirici adayları.

Bu kursu bitirdiğinizde: Katılımcılar eğitim sonunda, Dynamics AX 2009’da temel düzeyde kod geliştirme özelliklerini ve geliştirme ortamı yeteneklerini öğrenmiş olacaklardır. Bu seviye katılımcılardan yapması beklenen geliştirmelerin büyük kısmının yapılabilmesi için yeterlidir.

Ön Gereksinim

  • Temel Microsoft Windows kullanım bilgisi
  • Programlama metodolojisi ve entegre geliştirme ortamları ile ilgili temel bilgiler (.net platformuna aşinalık)
  • Genel Microsoft Dynamics AX bilgi birikimi faydalı olmakla birlikte şart değildir.

Ek olarak tavsiye edilen ancak şart olmayan 280020 Introduction to Microsoft Dynamics AX 2009 eğitimi tamamlanabilir.

Eğitim İçeriği:

  • MorphX’e giriş
  • Dynamics AX’ın mimarisi ve temel kavramları
  • Kullanıcı yetkilendirme, Kullanıcı ara yüzleri (Formlar)
  • DataDictionary, Rapor düzenlemeleri
  • X++’a giriş, X++ kontrol cümlecikleri
  • Sınıflar ve nesneler
  • Veri tabanına erişim, İstisna yönetimi
  • Geliştirme araçları
  • Veri işleme (IO, FileIO, XML, Microsoft® Excel® )
  • Sınıflar, raporlar ve formlar, Numara serileri

Ücrete dahil olanlar: Eğitimin son günü (14.gün) her bir kişi için bir defalık sınav hakkı.

Eğitime katılacak her bir katılımcı için 10 TL değerinde yemek kuponu.

Her bir katılımcı için (pdf formatında) kitap.

Ücret: 1800 USD + KDV

Yer: Datatraining (ETG), İnönü cad. Çetinkaya İş Merkezi No: 92 Kat:5 Kozyatağı / İstanbul

Tel: 0(216) 380 60 00

Dil: Oturum Türkçe olarak sunulacaktır.

Eğitmen: Fatih Demirci

Kayıt için: Banu Tozanoğlu (banu.tozanoglu@datatraining.net)

Dynamics Ax’ ta Jobs

Merhaba

Jobslar tek başına çalışabilen kod parçaçıklarıdır.  Genelde biz axcılar joblarda kod testlerini ve veri güncellemelerini yaparız. Jobları uygulamanın içinde pek kullanmayız. Doğrusuda budur. Eğer uygulamada kullanılacak bir işse sınıf yazmak daha mantıklı olacaktır.

Joblar genelde açıldıktan sonra çalıştır denilerek kullanılır.  AOT den jobın üzerine gelip Aç derseniz  job çalışacaktır. Bu bazen tehlikeli olabilir. Örneğin bir seferlik  veri güncellemesi yapması gerekn  bir job yazdınız. Başka birisi joba sağ tıklayıp Aç dediğinde tekrar çalışacak ve verinizi bozacaktır. Bu durum için yapılması gereken işiniz bittikten sonra job içindeki update yapan kodlarınızı yorum satırı halıne getirmektir. Jobın kodunu görmek için üzerine çıft tıklamak veye sağ tıklayıp düzenle demek gerekir.

Eğer istersek jobları kod içinden de çalıştırabiliriz.

Örneğin  mesaj veren aşağıdaki gibi bir  job olsun ve bunu koddan çağırıp mesajı görelim;

Read more

Dynamics ax’ta problem çözme yöntemleri

Merhaba

Bu gün sizlerle ax’ta karşılaştığım problemleri çözmek için başvurduğum temel bazı adımları paylaşacağım. Bazı durumlarda tek bir adım da sorunu çözebilir bazen bu adımlardan oluşan bir kombinasyonla kullanmak gerekebilir. Belli bir tecrübeden sonra  sonun nerden kaynaklandığını genelde kestirebilirsiniz.

Maddelerimiz şöyle:

  1. Uygulamayı derleyin.
  2. Kodu tekrar gözden gecirin. Basit hatalar olabilir.
  3. Yeniden deneyin. Çalışıyorsa sorun yok. :)
  4. Bir arkadaşınızdan yardım isteyin. Farklı bir bakış açısı işe yarayabilir.
  5. Türetilmiş  sınıfar varsa ileriye doğru derleyin. Read more

setRFix() ve setLFix() metodları

Merhaba

setRFix() ve setLFix() metodlarını belli bir formatta string oluşturmak istediğimizde kullanırız. Bu metodlar sayesinde belli sayıdaki karakteri bir tekstin ister sağına  ister soluna ekleyebilirsiniz. Bir job ile nasıl kullanıldığını görelim.


static void strRLFix(Args _args)
{
int     i = 1;
str     padded;
str     finalResult;
;
padded = strRFix(int2str(i), 5, "0");
finalResult = strFmt("NUM-%1", padded);
info(finalResult);
padded = strLFix(int2str(i), 5, "0");
finalResult = strFmt("NUM-%1", padded);
info(finalResult);
}

Çıktısı :

NUM-00001
NUM-10000

Selamlar.

Ax tablolarındaki kontrol(validation) metodları

Merhaba

Ax tablolarında veri kontrolunu sağlayan metodlardan bahsedeceğim. Herhangi bir tablonun metodları üzerinden sağ tıklayıp yöntemi gecersiz kıl derseniz ezebileceğiniz (Override) metodların listesini görürsünüz. Bu metodlar içinde kontrol için kullanılanları da görebilirsiniz.

Bu konuyu anlatabilmek için bir proje yaptım.  Öncelikle iki alanı olan bir tablo ve onun formunu yaptım. Bir job birde sınıf yazdım burada da kod ile insert update ve delete işlemlerini yaptım. Bunlardan maksadım hangi işlemde hangi kontrol metodu çalışıyor bunu size gösterebilmekti.

Kontrol için kullanıla metodları tek tek ezip içlerine şu kodları yazdım.

Read more

MCT (Microsoft Certified Trainer) oldum

Merhaba

Uzun bir sertifika ve eğitim sürecinin sonunda MCT (Microsoft Sertifikalı Eğitmen) oldum.

MCT olabilmek için öncelikle “Microsoft Certified IT Professional”  olmak gerekiyor. Ben “Developer for Microsoft Dynamics® AX 2009″ alanında  IT Professional oldum. IT Professional olmak için 4 adet sertifika almak gerekiyor. Seçtiğiniz alana göre zorunlu olanlar ve seçmeli olanlar olacaktır.  Developer for Microsoft Dynamics® AX 2009 için  Microsoft Dynamics® AX 2009   MorphX Solution Development ve  Microsoft Dynamics® AX 2009 Development Introduction  zorunlu sertifiklar. Seçmeli olanlardan benim aldıklarım ise  Microsoft Dynamics® AX 2009 Enterprise Portal Development ve Microsoft Dynamics® AX 2009 Installation & Configuration sertifikalarıydı.

Prompt ekranından girilen kriterleri başka bir query’e aktarmak

Merhaba

Prompt ekranı bir query için kriter girme, sıralama ve gruplama gibi farklı işlemleri yapabileceğiniz çok esnek bir uygulamadır. Özellikle rapor ve formlarda çok kullanılan bu ekranı her ax kullanıcısının çok iyi bilmesi gerekir. Bizim bu yazıdaki konumuz Prompt ekranında herhangi bir veri kaynağı için dinamik olarak girilen kriterleri tespit edip başka bir query’e aktarmaktır.

Bunu şöyle bir jobta deneyebiliriz:


static void GetQueryPromtRangeValues(Args _args)
{
CustTable               CustTable;
CustTable               CustTable2;
int                     counter;

Query                   q;
QueryRun                qRun;
QueryBuildRange         qbr;
QueryBuildDataSource    qbds;

Query                   q2;
QueryRun                qRun2;
QueryBuildDataSource    qbds2;

QueryBuildRange         qbrGet;
QueryBuildDataSource    qbdsGet;

;
// Birinci Query
q       = new Query();
qbds    = q.addDataSource(TableNum(CustTable));
qRun    = new QueryRun(q);
// İkinci Query
q2       = new Query();
qbds2    = q2.addDataSource(TableNum(CustTable));

if(qRun.prompt())
{
// CustTable veri kaynağı için girilen kriterleri buluyoruz
qbdsGet = qRun.query().dataSourceTable(TableNum(CustTable));
counter = qbdsGet.rangeCount(); // Kaç adet kriter girilmiş tespit ettik
// Girilen kriterleri bir döngü kullanarak ikinci query ye ekliyoruz
while(counter >0)
{
qbrGet = qbdsGet.range(counter);
info(strfmt("%1 : %2 ",counter , qbrGet.value() ));
qbds2.addRange(qbrGet.field()).value(qbrGet.value());
counter--;
}

setPrefix("Asıl Query ile ");
while(qRun.next())
{
CustTable = qRun.get(TableNum(CustTable));
info(strfmt("%1 : %2 ", CustTable.AccountNum,CustTable.Name ));
}
}

// ikinci query için QueryRun oluşturuyoruz.
// Aynı kriterlerin eklendiğini promt ekranında görebiliyoruz
qRun2    = new QueryRun(q2);

setPrefix("İkinci Query ile ");
if(qRun2.prompt())
{
while(qRun2.next())
{
CustTable2 = qRun2.get(TableNum(CustTable));
info(strfmt("%1 : %2 ", CustTable2.AccountNum,CustTable2.Name ));
}
}
}

Selamlar.

Script menusune otomatik query oluşturan bir kod eklemek

Merhaba

Daha önce ax editörunda bulunan script menusune nasıl ekleme yapılacağından bahsetmiştik. Ben kendi işlerimde kullanmak üzere bir çok ekleme yaptım bir tanesini sizinle paylaşacağım.

İki tablo ismi  ve join tipini soran ve bu bilgilere göre query hazırlayan kod örneğimiz şöyle:

Öncelikle EditorScripts sınıfımıza şu metodu ekliyoruz.


public void FD_Query(Editor editor)
{
    xppSource       xppSource       = new xppSource();
    Dialog          dialog          = new Dialog("Query oluştur");

    DialogField     dlgTablename    = dialog.addField(typeid(TableName));
    DialogField     dlgTablename2   = dialog.addField(typeid(TableName));
    DialogField     dlgExtTypeName  = dialog.addField(typeid(joinMode));
    Source          template;
;
    if (dialog.run())
    {
        template = xppSource.Query2Method(dlgTablename.value() ,
        dlgTablename2.value(),dlgExtTypeName.value() );

        editor.insertLines(template);
    }
}

Sonra xppSource sınıfımıza şu metodu ekliyoruz.

Read more

MS Dynamics AX 2009 İş Zekası (I)

 Tarih: 16-17 Aralık 2011

Süre: 2 gün

 

Kurs Hakkında:

2 günlük bu eğitim ile katılımcılar, Microsoft Dynamics AX 2009 ile birlikte gelen İş Zekası bileşenlerinin neler olduğu ve bunların nasıl efektif bir şekilde kullanılabileceğini öğrenecektir.

Katılımcı Profili: Bu eğitim Temel/Orta/İleri Düzey Dynamics AX 2009 bilgisi olan uygulama geliştiriciler,danışmanlar ve raporlama sorumluları için uygundur.

 

Eğitim İçeriği:

               1.Gün

-      İş Zekasına Genel Bakış

-      İş Zekası Kavramları

-      Dynamics AX ve İş Zekası

-      Dynamics AX İş Zekası Geliştirme Araçları

-      Dynamics AX Application Object Tree

-      BIDS (Business Intelligence Development Studio)

-      Dynamics Reporting Tools ile Rapor Geliştirme

-      AOT içinden Mevcut Raporlar Üzerinde Güncelleme

-      SQL Server Reporting Services ve Özellikleri

-      Report Builder ve Report Model kullanımı

               2.Gün

-      OLAP Küp’lerine Genel Bakış

-      Measures (Ölçüm) ve Dimensions (Boyutlar)

-      Measures (Ölçüm) ve Dimensions (Boyutlar) grup ilişkisi

-      Dynamics AX Varsayılan Küpleri (Genel Muhasebe, İnsan Kaynakları, Satış, Satınalma, Proje, Üretim, Müşteri İlişkileri, Borç / Alacak)

-      SQL Server Analysis Server

-      Excel ile OLAP Küplerine erişim ve Analiz

-      Reporting Service ile OLAP Küplerini kullanarak raporların geliştirilmesi

-      Rol Merkezleri , KPI ve Trend Raporları

Eğitim Bedeli:  350 USD / Kişi + KDV

Yer: Datatraining (ETG), İnönü cad. Çetinkaya İş Merkezi No: 92 Kat:5 Kozyatağı / İstanbul

Tel: 0216 380 60 00

Dil: Oturum Türkçe olarak sunulacaktır

Eğitmen: Erkan ÇİFTÇİ

Kayıt için: Handan Yazıcıoğlu (handan@datatraining.net)

Kayıt için son tarih: 8 Aralık 2011

Not: Son kayıt tarihinde yeterli katılım sayısı sağlanamazsa eğitim iptal edilecektir.