我是 Dynamics AX 的新手,并且非常努力地学习它。我创建了一个新表格,一个显示表格的新表格。一切正常...
表有 ID、NAME 和 SURNAME 作为列。我希望用户输入他们的姓名和姓氏,但我希望他们的 ID 是唯一的,这将由系统创建。所以我禁用了用户输入的 ID。
我已将 ID 作为主键,但我无法弄清楚如何使其自动递增。
你能给我提示吗?
我是 Dynamics AX 的新手,并且非常努力地学习它。我创建了一个新表格,一个显示表格的新表格。一切正常...
表有 ID、NAME 和 SURNAME 作为列。我希望用户输入他们的姓名和姓氏,但我希望他们的 ID 是唯一的,这将由系统创建。所以我禁用了用户输入的 ID。
我已将 ID 作为主键,但我无法弄清楚如何使其自动递增。
你能给我提示吗?
我面临着同样的问题。我在 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