2013-09-23 34 views
1

我是Dynamics AX的新手,非常努力地學習它。我創建了一個新表格,一個顯示錶格的新表格。一切工作正常...動態Axe自動增加ID的新表格

表具有ID,NAME和SURNAME列。我希望用戶輸入自己的姓名,但我想他們的ID是這將通過系統中創建獨特。所以我禁用了用戶輸入的ID。

我已經把ID作爲主鍵,但我不知道如何使它自動增量。

您能否給我提示?

回答

3

我正面臨同樣的問題。我發現this explanation on MSDN。找到步驟來創建波紋管和this website數字序列。

修訂

步驟1

創建EDT - 字符串類型

所以,我創建了一個名爲 「AXSeqEDT」 「AX序列」 的EDT與標籤

拖動到表(FirstTable)字段

步驟2

現在創建一個新的數列

路徑創建NUM序列是

「模塊::組織管理....... ........常見。數序列......數列」

單擊New(數列)

現在數列形式將被打開----包含4個部分。

第一節標識.....指定NumberSeqCode和名稱

第二節範圍參數...從下拉列表中選擇的範圍

第三節段....添加常量和字母數字(通過點擊添加按鈕並從下拉菜單中選擇)

第4部分。綜述..... Checkm方舟的連續和指定的「最小和最大和Next」字段

現在保存設置

步驟3

現在添加相應的說明書,代碼級 - NumberSeqModuleURMODULE

而且表 - URMODULEParameters。

所以我基於人力資源管理模塊創建數字序列.....所以我用類NumberSeqModuleHRM和表HRMParameters

現在去AOT ---類,NumberSeqModuleHRM ---加載模塊()

注::在這裏我們可以添加代碼看到現有的實現

所添加的代碼::

/* setup discussion number sequence - it is global */ 

    datatype.parmDatatypeId(extendedtypenum(AXSeqEDT)); 

    datatype.parmReferenceHelp(literalstr("@SYS32633")); 

    datatype.parmWizardIsContinuous(true); 

    datatype.parmWizardIsManual(NoYes::No); 

    datatype.parmWizardIsChangeDownAllowed(NoYes::No); 

    datatype.parmWizardIsChangeUpAllowed(NoYes::No); 

    datatype.parmWizardHighest(99999); 

    datatype.parmSortField(12); 



    this.create(datatype); 

現在去AOT ---表--- HRMPara米---方法-----點擊新方法

添加的代碼在新方法中

注::在這裏我們可以添加代碼看到現有的實現

所添加的代碼

static client server NumberSequenceReference numRefAXSeqEDT() 

{ 

    return NumberSeqReference::findReference(extendedTypeNum(AXSeqEDT)); 

} 

步驟4

爲了我們的新創建的數字序列的參考添加到我們的國防部請寫下面的作業並執行它

下面的工作很重要,因爲沒有它,你的新號碼序列將不可用於參數下的數字序列形式。這是來自AX 2009的行爲改變,其中在重新啓動動態AX時加載所有新的數字序列。在AX 2012中安裝時爲系統創建的所有數字序列,因此重新啓動AOS不會影響加載新的序列號,這就是爲什麼運行作業以加載新數字序列非常重要的原因。

守則中的工作增加是

static void jobName(Args _args) 

{ 

    NumberSeqModuleHRM NumberSeqModuleHRM = new NumberSeqModuleHRM(); 

    ; 

    NumberSeqModuleHRm.load(); 

} 

步驟5

執行上面的工作後,我們的新創建的數字序列參考「AX序列」將被添加到人力資源管理Module-- --number序列設置形式

讓我們檢查它

現在點擊數系列確定第n ewly創建號碼Seq參考

識別號碼序列參考後----配發數序列編碼的序列號.....參考通過從下拉選擇下拉列表

步驟6

現在添加代碼中創建的窗體數據源方法的方法

後藤AOT-表單FirstForm - 數據源 - FirstTable的方法覆蓋方法(創建)

public void create(boolean _append = false) 

{ 

    ; 

    super(_append); 



    FirstTable.AXSeqEDT = NumberSeq::newGetNum(HRMParameters::numRefAXSeqEDT(),true).num(); 

} 

步驟7

現在保存所有設置.....現在打開我們的表格 - FirstForm

+1

偉大的鏈接,但請添加一個答案http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – AnthonyBlake

+0

@AnthonyBlake我更新了答案:) – SamekaTV