【发布时间】:2015-11-01 00:05:25
【问题描述】:
我了解该表的 data 方法会创建包含系统字段的记录的副本。通常它应该生成一个新的RecID,这是合理的,否则你不能在同一个表中插入记录。
现在我遇到了一种情况,即 data 方法正在创建具有 相同 RecId 的副本,从而导致插入操作期间出错。我不确定为什么会发生这种情况,并希望能提供有关此主题的任何意见。
我在做什么:
- 复制现有产品配置模型
- 当我运行调试器时,执行线程有时会到达一个表方法 PCClass.duplicateTranslation()
- 在第 20 行和第 22 行中,我们可以看到创建了一条重复记录,然后尝试插入该记录,但由于它们具有相同的 RecId,因此失败(见下一个屏幕截图)
这是一个标准的 AX 方法,为什么它不起作用?
【问题讨论】:
-
可能是一个错误,他们不应该在这里使用
data方法。尝试改用buf2buf。据我所知,只有RecId为 0 时才会创建新的RecId。 -
使用
data是可以的,见Docu::copy。涉及到其他一些索引。 -
@FH-Inway,我在同一个方向思考并尝试使用 buf2buf()。如您所说,RecID 为 0。不幸的是,我的问题没有解决,因为问题是由插入期间的另一个索引引起的。
标签: axapta dynamics-ax-2012 x++