How to Replace a Financial Dimension in Default Dimensions [Dynamics AX 2012]
Merhaba
Ax 2012 ile finansal boyut yapısının tamamen değiştiğini daha önce ifade etmiştim. Bu değişiklik bize bazı durumlarda fazladan yazılım yükü oluşturuyor. Bunlardan biride bir boyuttaki belli bir boyutun değerini kod ile değiştirmek. Şöyle örnekleyeyim.
Bir müşteriniz var ve departman boyutunda 0026 yazıyor. Siz bunu 0030 ile değiştirmek istiyorsunuz.
Ax 2009 ‘da
custTable.Dimension[2] = “0030″; gibi basit bir kod ile bunu yapabilirdiniz.
Ax 2012 ‘de ise şöyle bir metoda ihtiyacınız var;
static void FD_ChangeDimValue(Args _args) { CustTable custTable; DimensionAttributeValueSetStorage dimensionStorage; DimensionAttribute deparmentDimensionAttribute; DimensionAttributeValue newDepartmentValue; ; ttsBegin; // Müşteri seçiliyor custTable = CustTable::findRecId(22565423201,true); // Değiştirelecek boyut seçiliyor deparmentDimensionAttribute = DimensionAttribute::findByName("Department"); // Değiştirilecek boyut için değer seçiliyor. newDepartmentValue = DimensionAttributeValue::findByDimensionAttributeAndValue(deparmentDimensionAttribute, "0030"); dimensionStorage = DimensionAttributeValueSetStorage::find(CustTable.DefaultDimension); dimensionStorage.addItem(newDepartmentValue); CustTable.DefaultDimension = dimensionStorage.save(); CustTable.update(); ttscommit; }
Selamlar.