Açıklama: CIL generation: The given key was not present in the dictionary.
Yol: \XppIL
Satır: 1
Yöntem/Özellik adı: XppIL
Teşhis kodu: Err:351
Data Dictionary'i senkronize edin, hataları temizleyin.
AOS down yapın. Bu klasördeki alt klasörler hariç tüm dosyaları silin:
C:\Program Files\Microsoft Dynamics AX\60\Server\AX2012R2_Dev\bin\XppIL
Blog Listem
8 Ağustos 2014 Cuma
5 Ağustos 2014 Salı
AX 2012 - Forma default dimension eklemek
Nasıl yapıldığını anlamak için LedgerJournalTable formuna bakılabilir.
DimensionDefault EDTsi ile tabloya eklediğimiz alana DimensionAttributeValueSet tablosunun RecId alanıyla bir relation ekliyoruz.
Forma bir tab sayfası ekleyip adını tabFinancialDimensions yapıyoruz ve aşağıdaki property ayarlarını yapıyoruz:
AutoDeclaration = true
caption = @SYS101181
HideIfEmpty = No
NeedPermission = Manual
Formun classDeclaration metoduna aşağıdaki tanımlamayı yapıyoruz:
DimensionDefaultingController dimensionDefaultingController;
Formun init metoduna aşağıdaki kodları yazıyoruz:
public void init()
{
boolean allowEdit = true;
super();
dimensionDefaultingController = DimensionDefaultingController::constructInTabWithValues(false, true, allowEdit, 0, this, tabFinancialDimensions, "@SYS101181");
dimensionDefaultingController.parmAttributeValueSetDataSource(MyTable_ds, fieldStr(MyTable, DefaultDimension));
dimensionDefaultingController.parmValidateBlockedForManualEntry(true);
}
Tab sayfası kontrolüne bu metodu ekliyoruz:
public void pageActivated()
{
dimensionDefaultingController.pageActivated();
super();
}
Tablo data source metodlarını aşağıdaki gibi güncelliyoruz:
public void delete()
{
super();
DimensionDefaultingController.deleted();
}
public void write()
{
ttsBegin;
DimensionDefaultingController.writing();
super();
ttsCommit;
}
public int active()
{
int ret;
ret = super();
DimensionDefaultingController.activated();
return ret;
}
DimensionDefault EDTsi ile tabloya eklediğimiz alana DimensionAttributeValueSet tablosunun RecId alanıyla bir relation ekliyoruz.
Forma bir tab sayfası ekleyip adını tabFinancialDimensions yapıyoruz ve aşağıdaki property ayarlarını yapıyoruz:
AutoDeclaration = true
caption = @SYS101181
HideIfEmpty = No
NeedPermission = Manual
Formun classDeclaration metoduna aşağıdaki tanımlamayı yapıyoruz:
DimensionDefaultingController dimensionDefaultingController;
Formun init metoduna aşağıdaki kodları yazıyoruz:
public void init()
{
boolean allowEdit = true;
super();
dimensionDefaultingController = DimensionDefaultingController::constructInTabWithValues(false, true, allowEdit, 0, this, tabFinancialDimensions, "@SYS101181");
dimensionDefaultingController.parmAttributeValueSetDataSource(MyTable_ds, fieldStr(MyTable, DefaultDimension));
dimensionDefaultingController.parmValidateBlockedForManualEntry(true);
}
Tab sayfası kontrolüne bu metodu ekliyoruz:
public void pageActivated()
{
dimensionDefaultingController.pageActivated();
super();
}
Tablo data source metodlarını aşağıdaki gibi güncelliyoruz:
public void delete()
{
super();
DimensionDefaultingController.deleted();
}
public void write()
{
ttsBegin;
DimensionDefaultingController.writing();
super();
ttsCommit;
}
public int active()
{
int ret;
ret = super();
DimensionDefaultingController.activated();
return ret;
}
4 Ağustos 2014 Pazartesi
AX 2012 - SSRS ile sıfır yerine boşluk göstermek
Field yerine (örnekte PurchPrice) aşağıdaki gibi bir IIF fonksiyonu kullanabilirsiniz:
=IIF(Fields!PurchPrice.Value = 0 ,"",Fields!PurchPrice.Value)
=IIF(Fields!PurchPrice.Value = 0 ,"",Fields!PurchPrice.Value)
Kaydol:
Kayıtlar (Atom)