首页 > 解决方案 > 尝试创建新行时获取重复的 Cache.Inserted 记录

问题描述

我正在尝试生成生产订单并插入一个详细信息行。创建详细信息行时,一切都很顺利,直到我尝试调用 Persist 或 Update 方法。当我这样做时,我尝试插入的行被重复,并且我收到以下错误:另一个进程添加了“AMProdMatl”记录。您的更改将丢失。

这是我的代码的一个简短示例:

        AMProdMatl fabric = new AMProdMatl();
        fabric = graphDetail.ProdMatlRecords.Insert(fabric);
        //Set values
        AMProdMatlExt fabricExt = fabric.GetExtension<AMProdMatlExt>();
        //Set values
        fabric = graphDetail.ProdMatlRecords.Update(fabric);
        graphDetail.Persist();

为什么要尝试插入第二条重复记录,如何解决?

标签: acumatica

解决方案


当尝试在关键字段中插入具有不同值的记录时,通常会发生这种情况。如果在插入和更新之间,您正在更改一个关键字段,而不是新记录的平台。使用 Insert 方法插入新记录时,请确保您已为该 DAC 设置关键字段,否则在更新时这将被视为单独的记录,从而导致插入两条记录而不是一条记录。


推荐阅读