Posts Tagged ‘ FinancialDimensions

Dynamics Ax 2012′de formlara boyut eklemek ( Default dimension)

Merhaba

Bu yazımda eksi versiyonda çok kalay yaptığımız bir işlemi Ax 2012 nasıl yapabileceğimizi anlatacağım. Ax 2009′da bir tabloya boyut açmak ve onu formda göstermek gayet basit bir işlemdi. Dimensions EDT dizi olduğu için tabloya bu alanı açtığınızda dizinin boyutu kadar tabloda sütun oluşuyordu. Siz bu sütunları istediğiniz gibi formunuzda kullanıyordunuz.

Ax 2012 bu işlemin nasıl yapılabileceğini adım adım anlatmaya çalışacağım.

  1. Bir tabloya EDT’si DimensionDefault olan, ismide DimensionDefault olacak bir alan açın. Eğer EDT’yi sürükleyip bırakırsanız DimensionAttributeValueSet tablosuyla ilişki kurmak için onay sorusu çıkacaktır. Burayı onaylayıp ilişkiyi kurmalısınız. Eğer otomatik ilişkide bir sorun olursa elle de ekleyebilirsiniz. Kombinasyonlar DimensionAttributeValueSet tablosunda tutulacak.
  2. Bir form yapalım ve Veri kaynağına tablomuzu ekleyelim.
  3. Boyutları TabPage ile göstermek istiyorum. Group’ta kullanabilirsiniz. İki tane TabPage oluşturup, birincisine bir isim verip, veri kaynağından bazı alanları buraya ekleyelim.
  4. İkinci TabPage’e TabFinancialDimensions ismini verelim ve ekteki özellikleri tanımlayalım.
    • AutoDecleration     : Yes
    • NeedPermision        : Manual
    • Width                           : Column width
    • Height                          : Column height
    • HideIfEmpty             :  No
    • Caption                        : Boyutlar
  5. Kontrolün çalışabilmesi için biraz kod yazmamız gerekiyor. Formun ClassDecleration ve init metodlarına aşağıdaki kodları ekleyelim.
  6. public class FormRun extends ObjectRun
    {
        DimensionDefaultingController dimDefaultingController;
    }
    
    public void init()
    {
        super();
    dimDefaultingController = DimensionDefaultingController::constructInTabWithValues(
                                                              true,
                                                              true,
                                                              true,
                                                              0,
                                                              this,
                                                              tabFinancialDimensions,
                                                              "@SYS138487");
    
        dimDefaultingController.parmAttributeValueSetDataSource(FDSEmple_ds,
                                    fieldstr(FDSemple, DimensionDefault));
    }
    
  7. Veri kaynağına şu kodları ekleyelim
  8. 
    public void delete()
    {
        super();
        dimDefaultingController.deleted();
    }
    
    public void write()
    {
        dimDefaultingController.writing();
        super();
    }
    
    public int active()
    {
        int ret;
        ret = super();
        dimDefaultingController.activated();
        return ret;
    }
    
  9. tabFinancialDimensions alanına şu kodu ekleyelim.
  10. 
    public void pageActivated()
    {
        dimDefaultingController.pageActivated();
    
        super();
    }
    

Bu aşamalardan sonra işlem bitmiş oldu. Formu açtığınızda aşağıdaki gibi bir görüntüyü görebileceksiniz.

Selamlar.