Acumatica 为什么AMReleaseProcess在记录添加时失败?

Acumatica 为什么AMReleaseProcess在记录添加时失败?,acumatica,Acumatica,最近,我们从2019R1升级到2020 R2,我们对JAMS软件包进行了一些定制,在2019R1中,即使我们进行了定制,我们也没有遇到任何问题。在这个新版本2020 R2中,我们在发布人工事务时面临另一个过程错误,因此我排除了所有扩展图形文件,并进行了验证,但仍然面临相同的问题 收到的错误为“错误:另一个进程已添加了'AMProdEvnt'记录。您的更改将丢失。” 根据跟踪,在Persist()过程中,错误似乎发生在AMReleaseProcess.cs的第350行,但源代码似乎没有引用AMPr

最近,我们从2019R1升级到2020 R2,我们对JAMS软件包进行了一些定制,在2019R1中,即使我们进行了定制,我们也没有遇到任何问题。在这个新版本2020 R2中,我们在发布人工事务时面临另一个过程错误,因此我排除了所有扩展图形文件,并进行了验证,但仍然面临相同的问题

收到的错误为“错误:另一个进程已添加了'AMProdEvnt'记录。您的更改将丢失。”

根据跟踪,在Persist()过程中,错误似乎发生在AMReleaseProcess.cs的第350行,但源代码似乎没有引用AMProdEvnt或在第350行附近的任何地方持久化

跟踪的最后一部分:

Error: Another process has added the 'AMProdEvnt' record. Your Changes will be lost.
at PX.Data.PXCache`1.PersistInserted(Object row, Boolean bypassInterceptor)
at PX.Data.PXCache`1.Persist(PXDBOperation operation)
at PX.Data.PXGraph.Persist(Type cacheType, PXDBOperation operation)
at PX.Data.PXGraph.Persist()
at PX.Objects.AM.AMReleaseProcess.cs Ln 350 AMReleaseProcess.Persist()
at PX.Objects.AM.AMReleaseProcess.cs Ln 511 AMReleaseProcess.ReleaseDocProc(AMBatch doc)
at PX.Objects.AM.AMDocumentRelease.cs Ln 49 AMDocumentRelease.ReleaseDoc(List`1 list, Boolean isMassProcess)
由于跟踪似乎与build 20.207.0012附带的源代码不匹配,因此我无法在源代码中找到问题。什么会导致记录在实际添加记录的过程中被添加

这是跟踪的屏幕截图。我们在-2020R2版本-20.207.0012中

我咨询了一位Acumatica员工,他建议:

我认为这只是一个已知的问题,升级应该解决这个问题,并通过将max line设置到amproditm.LineCntrEvent(可能拼写错误)中来修复生产事件(AMProdEvent)的行计数器


当我查看20.207.0012上的代码存储库时,跟踪中的行号似乎与代码存储库文件不一致。例如,AMReleaseProcess的第350行是if(!UpdateProduction),它似乎不太可能在persist中抛出错误。您可以尝试运行调试或使用请求探查器查看所有被激发的SQL语句。dnSpy很适合跟踪正在运行的进程。我实际上没有使用Mfg模块,所以我只能分享我的观察结果@Brendan可能是我所知道的最好的进一步帮助的资源。感谢Brain Stevens的投入,他会尝试一下,并让你保持联系。@BrianStevens:帖子已经正确关闭。现在图像已替换为相同的文本表示,它可能会重新打开。感谢Brian Stevens,我们正在升级到2020R2-20.208.0031的最新版本。希望这能解决问题。是否执行了升级?它解决了这个问题吗?嗨,Brain Stevens,我是关于你发送一个更新,升级到20.208.0031版本没有修复这个问题,有时我们能够成功地完成任务而没有出现错误,但有时我们会收到错误。现在我们在20.208.0031版本,我们有另一个版本20.209.0027,这将解决问题,如果升级到这个最新版本。感谢您,我明白Brendan(上文)提到的已知问题应该在您的版本中得到修复。尝试通过“生产订单维护事件”选项卡添加手动事件注释,并再次发布作为解决方法。您可能应该使用Acumatica打开一个支持案例,因为您在禁用自定义时会出现错误。