我有一个自定义实用工具,它使用AX 2012 2012 AOT中的自定义表格,我想为我的表格添加一个标识字段,并且有人告诉我我可以使用数字序列进行此操作,并且可以将一个数字序列映射到我的表中,以便在插入行时可以得到一个新的唯一ID,当我尝试生成数字序列时,它询问我AREA和模块信息,因为我想为我的定制表和实用程序工作在使用.net商业连接器的动态轴心之外,我无法弄清楚输入向导的内容。斧头自定义表格的数字序列2012
1
A
回答
4
您可能已经看到了使用NumberSeqModule枚举并向其添加自定义模块枚举值的方法。然后,您通常会创建一个扩展NumberSeqApplicationModule类的类,然后使用数字序列引用加载链接到数据类型的数字序列。
虽然这是'最佳实践方式',但对于您现在要做的事情来说,这有点矫枉过正。所以这里是你可以做的:
你可以覆盖你正在使用的表的插入方法。你可以在NumberSeq类上使用newGetNumFromCode构造函数。
public static NumberSeq newGetNumFromCode(
NumberSequenceCode _numberSequenceCode,
NumberSeqScope _scope = NumberSeqScopeFactory::createDefaultScope(),
boolean _makeDecisionLater = false,
boolean _dontThrowOnMissingRefSetUp = false,
SysLastValue _nextNumSeq = null,
boolean _fillNextNumSeq = false)
{
return NumberSeq::newGetNumFromId(
NumberSequenceTable::findByNaturalKey(_numberSequenceCode, _scope.getId()).RecId,
_makeDecisionLater,
_dontThrowOnMissingRefSetUp,
_nextNumSeq,
_fillNextNumSeq);
}
所以现在使用这个,你只需要创建动态AX中的一个新numbersequence(组织管理|数列|数列),并记数序列编码。
然后在你的表的插入方法,你可以做到以下几点:(例子中从联系人表中获得)
if (!this.ContactPersonId)
{
this.ContactPersonId = NumberSeq::newGetNum(CompanyInfo::numRefContactPersonId()).num();
}
这应该确保当插入一条记录,你也将填写身份证。
1
这是如何U以正常的方式,你数列
custTable.xyz = NumberSeq::newGetNum(CompanyInfo::numrefContactId()).num();
+0
这的确是上面的答案:) –
相关问题
- 1. 编辑销售订单中的自定义字段,状态发票斧2012
- 2. 自定义的有序列表格式
- 3. GWT CellTable排序列自定义头
- 4. 自定义数据网格报头
- 5. 自定义数字格式
- 6. 自定义数字格式
- 7. 自定义排序列表
- 8. 自定义列表排序
- 9. 列表自定义排序
- 10. 自定义列表字段
- 11. 斧2012年下拉选择
- 12. 斧头从字数组中获取奇怪的数字
- 13. 斧头2012中的地图有什么用?
- 14. Django的自定义序列格式
- 15. 反序列化的自定义列表
- 16. 自定义表格视图的列
- 17. 自定义表头部分
- 18. Visual Studio 2012定义的完整列表
- 19. 自定义计数列表
- 20. 函数自定义列表格式概要列表
- 21. JQuery数据表列的自定义排序下拉列表
- 22. 虽然创建销售订单系统会挂在斧头2012
- 23. TFS 2012添加自定义字典
- 24. 斧头2009年的报告
- 25. OpenGL的绕斧头点
- 26. 自定义列表定义
- 27. 使用Collections.sort排序自定义类数组列表字符串
- 28. MVCContrib网格 - 排序自定义列
- 29. Excel中的自定义数字格式
- 30. 自定义风格的数字增量
感谢肯尼,我创建了一个数列,并重写我的插入方法和使用newGetNumFromCode方法,我得到了重复号码,后来有人告诉我,我有使用连续数字序列并将代码包装在事务TTSBegin和TTSEnd中。有效。 – alphaprolix
@Kenny Saelen:在这个例子中你使用了NumberSeq :: newGetNum()。我正在创建NumberSeq :: newGetNumFromCode(),但它(有时并不总是)抛出一个“数字序列不存在”的异常。任何想法为什么是这样?我在组织管理中使用“新数字序列”生成数字序列,而不是通过代码(使用EDT stuff,loadModule()方法和全部)或生成序列向导。 –