1

我是 Dynamics AX 的新手,并且非常努力地学习它。我创建了一个新表格,一个显示表格的新表格。一切正常...

表有 ID、NAME 和 SURNAME 作为列。我希望用户输入他们的姓名和姓氏,但我希望他们的 ID 是唯一的,这将由系统创建。所以我禁用了用户输入的 ID。

我已将 ID 作为主键,但我无法弄清楚如何使其自动递增。

你能给我提示吗?

4

1 回答 1

5

我面临着同样的问题。我在 MSDN 上找到了这个解释在下面和本网站上找到创建编号规则的步骤。

更新

步骤1

创建 EDT - 字符串类型

因此,我创建了一个名为“AXSeqEDT”的 EDT,标签为“AX Seq”

拖入 Table(FirstTable)Fields

第2步

现在创建一个新的数字序列

创建 num 序列的路径是

“模块::组织管理.......通用............编号规则......编号规则”

单击新建(数字序列)

现在将打开数字序列表----其中包含 4 个部分。

第 1 节。标识.....指定 NumberSeqCode 和名称

第 2 节。范围参数...从下拉列表中选择范围

第 3 节.段.... 添加常量和字母数字(通过单击添加按钮并从下拉列表中选择)

第 4 节。常规.....勾选连续并指定“最小和最大和下一个”字段

现在保存您的设置

第 3 步

现在将各自的手动代码添加到类 - NumberSeqModuleURMODULE

和表 - URMODULE 参数。

所以我正在创建基于 HRM 模块的数字序列.....所以我使用类 NumberSeqModuleHRM 和 Table HRMParameters

现在转到 AOT---Classes-NumberSeqModuleHRM---loadModule()

注意::这里我们可以添加看到现有实现的代码

添加的代码是::

/* 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---Tables---HRMParameters---methods-----点击新方法

在 New 方法中添加代码

注意::这里我们可以添加看到现有实现的代码

添加的代码是

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 Seq”将添加到HRM模块----编号序列设置表单

让我们检查一下

现在单击 Number Sequence 并识别新创建的 Number Seq Reference

识别编号序列参考后----将编号序列代码分配给编号序列参考.....通过从下拉列表中选择

第 6 步

现在在 Forms Datasource 方法的 Create 方法中添加代码

Goto-AOT-Forms-FirstForm-Datasources-FirstTable-Methods-Override 方法(创建)

public void create(boolean _append = false)

{

    ;

    super(_append);



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

}

第 7 步

现在保存所有设置.....现在打开我们的表单-FirstForm

于 2013-09-24T06:34:26.423 回答