使用DMF / DIXF AX 2012 R2导入数据时,在目标表中插入重复记录

时间:2016-08-02 17:40:29

标签: axapta dynamics-ax-2012

我有一张桌子。

TableMain有两个字段。 Field1:VendRecId Field2:TestRecId

存储表Vendtable,TestTable的回溯。

Tablemain没有索引。

我使用DIXF / DMF将数据导入MainTable。 它的进口罚款。导入时我在文件中保留重复数据。  它创建了新记录而不是更新。 能不能让我知道如何更新而不是更新 插入重复记录。

我不应该修改TableMain

1 个答案:

答案 0 :(得分:1)

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

TableMain tableMain;

从tableMain中选择RecId,其中tableMain .Field1 == target.fiedl1&& tablemain.field2 == target.field2;

如果(tablemain.recid) Callinsertlogic = false; 其他 callinsertlogic = true;

然后调用super方法ret = super(..,callinsertlogic,..)。

这对我有用。

使用这种方式,如果记录是新的,我可以插入,如果是现有记录则更新,而不在tablemain中添加索引。