Acumatica 获取重复缓存。尝试创建新行时插入记录

Acumatica 获取重复缓存。尝试创建新行时插入记录,acumatica,Acumatica,我正在尝试生成生产订单并插入一个明细行。创建详图线时,一切都进行得很顺利,直到我尝试调用Persist或Update方法。当我这样做时,我尝试插入的行被复制,我收到以下错误:另一个进程添加了“AMProdMatl”记录。您的更改将丢失 下面是我的代码的一个简单示例: AMProdMatl fabric = new AMProdMatl(); fabric = graphDetail.ProdMatlRecords.Insert(fabric); /

我正在尝试生成生产订单并插入一个明细行。创建详图线时,一切都进行得很顺利,直到我尝试调用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();
AMProdMatl结构=新AMProdMatl();
fabric=graphDetail.ProdMatlRecords.Insert(fabric);
//设定值
AMProdMatlExt fabricExt=fabric.GetExtension();
//设定值
fabric=graphDetail.ProdMatlRecords.Update(fabric);
graphDetail.Persist();

为什么要插入第二条重复记录?如何修复?

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

AMProdMatl有一个依赖于行计数器逻辑的父记录。检查插入上使用的LineID值,确保它不是已存在的键。如果是,请确保在缓存中设置了当前AMProdOper记录,以便使用正确的下一行计数器。