Import 为什么从暂存到目标的AX 2012数据导入总是覆盖1条记录?

Import 为什么从暂存到目标的AX 2012数据导入总是覆盖1条记录?,import,axapta,dynamics-ax-2012,Import,Axapta,Dynamics Ax 2012,我有一个自定义表,我正试图将数据导入其中。当导入到我的暂存表时,我得到3条单独的记录。从暂存导入到目标时,它将创建一条记录(如果没有记录),然后两次“更新”该记录。如果目标中已经有记录,它将更新该记录3次 我很确定这与这个表(目标)是一个自定义表有关,但是,我不明白为什么记录总是更新。它们是唯一的记录。我需要在暂存表和目标表之间建立关系。一旦设置了正确的关系,一切正常。我可以使用TableMain实体类中的InsertUpdate方法来解决它。在insertupdate方法中,检查目标缓冲区中的

我有一个自定义表,我正试图将数据导入其中。当导入到我的暂存表时,我得到3条单独的记录。从暂存导入到目标时,它将创建一条记录(如果没有记录),然后两次“更新”该记录。如果目标中已经有记录,它将更新该记录3次


我很确定这与这个表(目标)是一个自定义表有关,但是,我不明白为什么记录总是更新。它们是唯一的记录。

我需要在暂存表和目标表之间建立关系。一旦设置了正确的关系,一切正常。

我可以使用TableMain实体类中的InsertUpdate方法来解决它。在insertupdate方法中,检查目标缓冲区中的值,并查看TableMain中是否存在记录。如果是,则将callinsertlogic修改为false,否则为true

TableMain TableMain

select RecId from tableMain where tableMain .Field1 == target.fiedl1 

if(tablemain.recid) Callinsertlogic = false; else callinsertlogic = true;
然后调用super方法
ret=super(..,callinsertlogic,..)


使用这种方式,我可以在记录为新时插入,在记录为现有时更新,而无需在tablemain中添加索引。

更新使用的唯一值是什么?不确定您的意思。您是否在表中使用主键,如果是,则在选择更新时是否将其用作选择参数?另外,您是在使用update_记录集还是单独更新/插入每个项目。一些代码示例将是有益的。您能分步骤解释一下吗?太多了。