acumatica - 为什么 AMReleaseProcess 在添加记录时失败?
问题描述
最近我们从 2019R1 升级到 2020 R2,我们对 JAMS 包进行了一些定制,即使我们进行了定制,我们在 2019R1 中也没有遇到任何问题,在这个新版本 2020 R2 中,我们在发布劳动力交易时面临另一个流程错误,所以我排除了我们所有的扩展图形文件并经过验证,但仍然面临同样的问题。
收到的错误是“错误:另一个进程添加了 'AMProdEvnt' 记录。您的更改将丢失。”
根据跟踪,错误似乎发生在 Persist() 期间 AMReleaseProcess.cs 的第 350 行,但源代码似乎在第 350 行附近的任何地方都没有引用 AMProdEvnt 或 Persist。
跟踪的最后部分:
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)
由于跟踪似乎与构建 20.207.0012 附带的源代码不匹配,我无法在源代码中找到问题。什么会导致在应该执行实际添加记录的过程中已经添加记录?
这是跟踪的屏幕截图。我们在 - 2020R2 Build -20.207.0012
解决方案
我咨询了 Acumatica 员工Brendan,他建议:
我相信这只是一个已知问题,升级应该可以解决该问题,并通过将 max line 设置为 AMProdItem.LineCntrEvent(可能拼写错误)来修复生产事件 (AMProdEvent) 的行计数器。
推荐阅读
- laravel - Laravel Livewire key() 期望参数 1 是数组,给定整数 | 嵌套组件 | 在循环中加载组件
- scala - 如何在 sparknlp 中为文本文件使用注释器
- android - 如何根据按钮单击android更新适配器列表
- android-studio - 为 obj 和 gltf 文件导入 Sceneform 资源时出错
- docker - 我可以在一台计算机上使用多个 docker 容器作为 Kubernetes 工作节点吗?
- android - 图像编码和解码。base64 字符串图像
- android - 谷歌拟合数据能持续多久?
- autosar - 如何验证 AutoSar TSYNC?
- sql-server - 编写一个嵌套的 IIF 函数
- android - 在画布中仅擦除颜色而不是位图