Acumatica 如何刷新特定缓存的时间戳信息?

Acumatica 如何刷新特定缓存的时间戳信息?,acumatica,Acumatica,在这种情况下,我需要将信息从数据库重新加载到特定的缓存中,以进行一些重新计算 我尝试了以下方法。在此之后,我可以从数据库中读取新信息,但保存操作仍然会给我PXLockViolationException this.<VIEW>.Cache.Clear(); this.<VIEW>.Cache.ClearQueryCache(); this.<VIEW>.Select(); this..Cache.Clear(); 此..Cache.ClearQuery

在这种情况下,我需要将信息从数据库重新加载到特定的缓存中,以进行一些重新计算

我尝试了以下方法。在此之后,我可以从数据库中读取新信息,但保存操作仍然会给我PXLockViolationException

 this.<VIEW>.Cache.Clear();
 this.<VIEW>.Cache.ClearQueryCache();
 this.<VIEW>.Select();
this..Cache.Clear();
此..Cache.ClearQueryCache();
这个..选择();
请帮忙

我用了

this.Base.SelectTimeStamp()


但这会重新加载所有时间戳吗?我只需要更新缓存信息。有人知道吗?

对于所描述的情况,当你有多人打开同一个文档时,考虑使用。它的目的之一是对DAC类的某些属性应用增量,而不会使更新的记录无效。Sergey介绍了更多关于内部构件的内容,也可以随意阅读关于实现内部构件的文档。

您的第一个代码片段应该能够清除缓存值并从DB中获取缓存值,尽管我不建议将此作为最后手段。关于手动编辑时间戳的相同建议。你想用它做什么?你需要做什么样的计算?我的情况是,我有一个主表和一个运行编号,运行编号可能会从多个文档中添加/减去。所以doca更新值=0+50。下一个要保存的文档可能会更新相同的值,这里需要50,然后加/减该值。如果我无法从数据库中刷新此信息,用户会经常收到错误,并被迫重新加载此信息,从而导致工作丢失。