Dynamics AX Geliştiricileri için Gerekli Araçlar

Bu yazıda her X++ geliştiricisinin yeni bir AX projesine başladığında mutlaka yüklemesi gerektiğini düşündüğüm bazı araçlardan (toollardan) bahsedeceğim. Ben özellikle başından/ortasından dahil olduğum her projeye bu araçları yüklemeden geliştirmeye başlamıyorum. Bu araçlar geliştirme süremizi kısalttığı gibi yaptığımız işi bir düzene, standarta oturtmamıza da yardımcı oluyorlar.

Yazıda geçen tüm araçları bu adresten indirebilirsiniz. Başlayalım.

 

1. Yeni proje yaratma

Her geliştirmeye yeni proje açarak başlıyoruz. Devamlı yaptığımız bu işlem de, proje içine dahil ettiğimiz objeleri AOT deki gibi gruplu tutmak bizim için büyük kolaylık. Ax standartında yeni proje oluşturduğunuzda içi tamamen boş oluyor.

Bu araç ise projeye eklemek istediğiniz obje gruplarını seçmenize olanak sağlıyor. Eğer sağdaki butona basıp Set > Most frequently used dersenizde en çok kullanılan gruplar otomatik seçili oluyor. Yükledikten sonra “Tools” menüsünün en altına “Proje oluştur” ismiyle bir seçenerek gelecektir. Bastığınızda aşağıdaki gibi bir ekran sizi karşılayacak.

Kurulumu için verdiğim linkteki “SharedProject_DEV_CreateProject.xpo” isimli ax projesini yüklemeniz yeterli.

 

2. Comment template

Ax’a ait her kod bloğunda değişiklik yaptığımızda eğer tfs kullanmıyor isek bunu kimin, ne zaman ve neden yaptığını belirten bir comment atmalıyız. Ax 2012 de yazdığınız belirli özel kelimelerden sonra tab’a bastığınızda kelime otomatik tamamlanıyor (if, else, switch vs).

Bu tool’u ax’a yüklediğinizde ise her “comm” yazdığınızda tek satır “bcomm” yazdığınızda ise block şeklinde otomatik comment oluşturuyor. Hazırladığım comment formatı aşağıdaki gibi.

Comment formatında adına iş yaptığınız partner’ın kısakodu, ax kullanıcı adınız, timestamp ve doldurmanız için iş kodu bilgileri bulunuyor. İş kodu alanına kendi kullandığımız iş/proje takip uygulamasının (redmine) verdiği kodu giriyorum. Bu kod benim bu değişikliği neden yaptığım bilgisini tutuyor.

Kurulumu için verdiğim linkteki “SharedProject_DEV_CommentTemplate.xpo” isimli ax projesini yüklemeniz yeterli.

 

3. Tablo methodlarını oluşturma

Ax da yeni tablo oluşturduktan sonra find, exist gibi ihtiyacımız olan bazı methodlar var. Bu methodlar ax’ın standart olan hemen her tablosunda bulunuyor. Bu methodları yeni açtığınız bir tabloda zahmetsizce oluşturmak için bu aracı kullanabilirsiniz. Yükledikten sonra ilgili tabloya sağ tıklayın ve “Add-Ins > Tablo methodlarını oluştur” a basın. Methodlar tablonun primary index’ine göre otomatik oluşacaktır.

Eğer tablonun primary index’i yoksa RecId’ye göre oluşturacaktır. Kurulumu için verdiğim linkteki “SharedProject_DEV_TableMethodGenerator.xpo” isimli ax projesini yüklemeniz yeterli.

 

4. Editörü geliştirme

Ax 2009’un geliştirme ortamı gerçekten kötüydü. 2012 ondan daha iyi olsada halen yeterli değil. Bu sebeple J.A. Estevan‘ın yazdığı bir eklenti bulunuyor. Bu eklentiyi kurduğunuzda editörünüze 3 özellik kazandırıyor.

1. Süslü işaretli olan kullanılan ifadelerde; süslüye tıkladığınızda bloğun başlayıp bittiği kısımları renklendiriyor.

 

2. Bir kelimeye tıkladığınızda, o kelimenin kod bloğu içinde geçtiği heryeri renklendiriyor.

 

3. if, switch gibi blokların başına artı/eksi işareti geliyor. Bastığınızda o bloğu küçültebiliyorsunuz. Üzerine geldiğinizde detayını popup olarak görebiliyorsunuz. İç içe geçmiş uzun if bloklarını okurken çok işe yaramakta.

 

Kurulumu için yazının başında verdiğim linkten çıkan 3 dll’i ax client’ının yüklü olduğu makinada “C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\EditorComponents” dizini altına atmanız yeterli. Ax client’ını kapatıp, tekrar açtığınızda değişikliklerin aktif olduğunu göreceksiniz.

Bu arada bu eklenti sadece yüklü olduğu makinadaki client da aktif oluyor. Kullanmak istediğiniz her makinada bu işlemi yapmalısınız.

 

Son olarak

Bu yazıda en çok kullandığım araçlardan bahsettim. Daha pek çok bu şekilde yararlı araç bulunuyor. Sizinde bu listede olmayan, kullandığınız araçlar varsa yorumlarda paylaşabilirsiniz.

Hoşçakalın.

Bir Cevap Yazın