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;
}


2 yorum:

  1. merhabalar

    konu ile ilgisi yok ancak birşey danışmak istiyorum

    logo object dll ile satıştan iade faturası için örnek bir kod varmı yada
    DataObjectType alt nesnesi hangisidir ? teşekkürler

    YanıtlaSil
  2. Merhaba,

    Logo object ile uzun süredir çalışmıyorum.

    YanıtlaSil