Axapta’da Sıfırdan Proje Geliştirmek

Home  >>  Dynamics Axapta  >>  Axapta’da Sıfırdan Proje Geliştirmek

Axapta’da Sıfırdan Proje Geliştirmek

25
Eki,2014

0
Axapta’da geliştirme yapmaya başladığınız da ilkte kolay gibi gelir, içerisine daha derinlemesine girdikçe aslında gözüken ilk o yüzün arkasında çok karmaşık süreçler olduğu bir yapı vardır bu yapı da zamanla üzerinde daha fazla çalıştıkça anlamaya ve kavramaya başlarsınız. Biz de bu yazımızda axapta üzerinde sıfırdan bir proje nasıl oluşturulur adımlarıyla işliyor olacağız. Kurgumuz, İşletmemizde oluşan duruşları tutmak istediğimizi düşünüyoruz.bunun için duruş nedenlerimizi çıkarıyoruz ve bu duruşları hat üretim ekranları üzerinden girişlerinin yapılacağını hayal ediyoruz. İlk öncelikle Duruş / Arıza kayıtlarımızı girmek için bir çalışmaya başlayalım.   1.Adım  - Proje Klasörü oluşturmak Axapta’da yeni bir proje gelişirken her zaman yeni bir proje klasörü oluşturmanızı öneririm. Çünkü geliştirmekte olduğunuz uygulama için oluşturduğunuz AOT nesnelerine tabi ki yine AOT üzerinden görebilirsiniz. Fakat daha rahat kullanım, daha düzenli bir yapı ve istediklerinize daha rahat ulaşabilmeniz için bir proje klasörü oluşturmak gerekir. Ctrl+Üst Krkt+P kısa yolu ile Project penceresini açabiliriz. MDI_HaltCards adında bir proje dosyası oluşturalım.     Project dosyası içerinde oluşturacağınız AOT nesnelerini visual studio Solution explorer’da formları,classları klasörleştirdiğimiz gibi ax tarafında  da Group nesnesi sayesinde ayrıştırabiliriz. 1-DataDictionary adında bir group oluşturalım. 2-Özelliklerine gidelim ve Project Group Type’ni Data Dictionary olarak belirleyelim. Project Group Type özelliği  group’a belirlenen type için group altında hangi nesneleri oluşturabileceğimiz  gibi bir özellik kazandırır.   ve artık İlk tablomuz olan Duruş Kart tablomuzu için alanlarımızı oluşturalım. 2.Adım – ExtendedDataTypes Oluşturmak axapta bir geliştirici olarak ilk öğrenmeniz en önemli konu ExtendedDataTypes’leridir.  ExtendedDataTypes kullanımı ne işe yarardıklarını çok iyi anlamak gerekir.   ExtendedDataTypes aslında bildiğiniz string,integer,date gibi typelerdir fakat çok daha yetenekli ve yapabildikleri inanılmazdır. Bunlarda bazıları, -Ana Tabloya git özelliği -Numara serileri -ilişkiler -Basit filtrelemeler -Açılan pencere kutucukları (Lookuplar) Axapta da projeleriniz daha önceden oluşturulmuş ExtendedDataTypes kullabilir ya da yeniden sıfırdan oluşturabiliriz. Genel de ilk başlarda sorulan soru çoğu peki işimize yarayacak bir type bu tablolar için yada class’lar içinde geçerlidir nasıl buluruzdur bu yetenek zamanla kazanılacak bir durumdur genelde danışmanlardan sizi bu konuda yönlendirir ve bir kaçta axaptanın biz developer lara sağladığı kolaylıklar sayesinde bunları bulabiliriz bunların şuanlık özetle geçiyorum.   Aşağıdaki gibi ExtendedDataTypes  oluşturalım. HaltCode :String (30) HaltType = Enums  (label etiketi sonrası anlatılmaktadır.) Name = String (60) Description : String (60)   Kalın font olan belirtilmiş olan Extended Data Types sıfırdan bizim oluştuklarımız iken , diğer Extended Data Types  axaptanın sürükle bırak yöntemi ile daha önceden oluşturulmuş standart extended Extended Data Types olduğunu belirtmektedir. ExtendedDataTypes özellikler penceresini açmışken kısaca bir konu ya daha da değineyim. ax üzerinde label önemli bir yer verilmiş Best Practices bir geliştirici olmak için ilk dikkat etmeniz gereken konulardan biri de labellardır. property de label tıkladığınızda size aşağıdaki bir form açarak burada farklı Dil’lere göre bu etiketin karşılığı girmeniz sağlanır. bu özellikliği bir query ,job yazarken de metin içerikler için kullanılabilmektesiniz.     Enum Oluşturma
  1. BaseEnums group sağ tık BaseEnum Oluştur. (HaltTypes)
  2. HaltTeys Yeni Element oluştur.
Oluşturduğumuz bu enumu daha sonra sürükle bırak yaparak ExtendedDataTypelarımızın arasına atıyoruz.   3.Adım – Tables Oluşturmak Projemiz içerisinde Tables Groubumuzda sağ tıklayıp Tables diyerek MDI_HaltCards adında bir table oluşturuyoruz ve içerisine oluşturduğumuz ExtendedDataType’leri fields sürükleyip bırakalım. Tablolarımızın önemli ve en çok kullandığımız özelliklerine kısaca bir bakalım,     1-CacheLoookup : hangi durumlarda tablomuzun cacheleneceği belirlenir.
  • None  : Cacheleme yapılmaz.
  • Found:genelde çok sık değişmeyen tablolar için kullanılır kayıt ilk kez bulunduğunda cachelenir.
  • FoundAndEmpty:found tek farklı eğer sorgu boş gelirse de sorgu bu boş haliyle cache’leme yapılacaktır.
  • NotInTSS:TtsCommit gibi bir işlem başarılı şekilde biterse bu sorgu cachlenir eğer ttsbegin işlemi yani bir hata oluşursa cache’leme gerçekleşmeyecektir.burada ki ttsCommit .net tarafında ki SqlTransaction gibidir.
  • Entire Table:Bu parametre genelde değiştirilme özelliği çok nadir olan tablolar için kullanılmaktadır.
  2-Createby , CreateDateTime vb özelliklerini  Yes yaptığımız da tablomuza bu kayıtlar için field oluştur ve bu kayıtları tutmaya başlar. 3-FormRef : Ana Tabloya git özelliğini değiştirmek için kullanılır eğer boş bırakılırsa EDT üzerinde ilişkilendirilir. 4-Temporary:Bu özelliklikle tabloya girilen verilerin veritabanına yazılıp yazılmayacağı belirlenir eğerYes seçilir bu kayıtlar AOS serverın bulunduğu sunucunun belleğinde tutulacaktır.  5-ConfigurationKey:tablonun bulunduğu güvenlik hiyerarişinini belirler. 6-SecurityKey:Tablomuza erişimi belirlemek için kullanılır.   Table Field Group Field grouplar oluşturacağımız formlarda ,raporlarda vb kullanmak için fieldlarımızı grouplamamıza olanak sağlarlar. Örneğin standart Auto Report alanı içerisinde koyduğumuz filed’leri bir rapor otomatik olarak çekerek basit bir rapor elde edebiliriz. Tablomuz içerisinde Field Grouplarımızı sağ tıklayarak yeni bir group oluştur diyerek HaltCards isiminde bir group oluşuralım. Ve içerisine yine aynı şekilde fieldlerden istediğimiz alanları sürükleyerek bırakalım.     Tablolarda indexes oluşturmak, indexler bilindiği gibi bize temel anlamda arama,sıralama,gruplama gibi işlemler yaparken bizler için oluşturulmuş ön bilgilerdir. Axapta da iki temel index türü mevcuttur , bunların 1.Tekil(unique) index 2.Tekil olmayan (Non unique) index. Tekil(unique) index tabloda sadece bir kere tekrarlanmasını izin verilirken, Tekil olmayan (Non unique) olmayan indexler ise genel aramaların hızlandırılması için kullanılır. 1-Tablomuzda Indexes gelen ve Yeni index oluştur  diyerek IdxHaltCode adında bir index oluşturalım.
  1. IdxHaltCode index sağ tıklayarak Field diyerek yeni bir field oluşturalım.
  2. Field özelliklerinde DataField’ını daha önce oluşturduğumuz HaltCode olarak belirleyelim.
Eğer indeksimiz tekil olacak ise tablolarda tekrarlanmasını istemiyorsak indeximizin AllowDuplicationözelliğini No yapın.eğer tablo içerisinde bulunan kayıtlar buna uygun değilse size hata mesajı döndürecektir.            4.Adım- Form Oluşturmak 1-Projemizde Forms  adıyla bir group oluşturalım. 2-Forms sağ tık Yeni Form diyerek MDI_HaltCards adında bir form oluşturalım. 3-Data Source kısmına oluşturduğumu MDI_HaltCards tablosunu sürükleyip bıralım. 4-Desings bölümü açalım ve  Desing sağ tıklayıp yeni control bölümü geçelim bura da bir Grid oluşturalım. Burada görüldüğü gibi onlarca kullanabilceğimiz nesnler mevcut durumda 5-Gridin özelliklerini penceresini açalım.       6-DataSource formumuz içerisindeki MDI_HaltCards  seçelim.       7-DataGroup özelliğine hatırlarsanız daha önce oluşturduğumuz Halt Cards groubunu seçelim.     Birde formumuzda gridmizin altında bize akfit kayıtımızı gösteren textboxlar koyalım ve yazma özelliklerini özelliklerini AllowEdit = No yaparak kapatalım. 8-Desing – Yeni Control – Group Ekle 9-Oluşturduğumuz groupta –Yeni Control –String Edit Ekleyelim. String Editlerimizi olurup özellikler penceresinden DataSouce:MDI_HaltCrads DataField:gösterilecek field seçelim. AllowEdit:No yaparak yazmaya kapalım.     Gelin bakalım şimdi formumuz nasıl oldu, Temel olarak şuan kadar axapta bir proje nasıl geliştirilir adımlarıyla gördük. Peki bu zaman kadar geliştirirken unuttuğumuz bir çok önemli girmediği özellikler oldu bunları nasıl tespit edebiliriz . Axaptanın burada  Derleme(F7) özelliği imdadımıza yetişiyor ve unuttuğumuz security key ,HelpText,TitleFiled1 gibi özellikleri bize önerilen Uygulamalar tagı altında belirtiyor.   Bu proje Microsoft Dynamics AX 2009 versiyonunda geliştirilmiştir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir