我想知道我们如何创建整个缓存的副本。我们有一个方法 createCopy() 来创建数据记录的副本,有什么类似的吗?
问问题
708 次
2 回答
1
Acumatica中没有类似CopyCache()
方法的东西,但缓存确实提供了对当前存储在其中的修改记录的访问。您可以通过三个属性访问它们:PXCache.Inserted
、PXCache.Updated
、PXCache.Deleted
。
您可以从这些集合中收集记录的本地副本,存储在一些变量中并稍后再次推送到缓存中。
于 2015-03-13T10:49:41.533 回答
0
正如@Alex Turok 提到的,
我发现的唯一方法是创建一个类来保存所需的记录详细信息,例如记录、扩展名和 PXEntryStatus。在 Persist 之前,我遍历 Cache.Cached 记录并获取记录并保存到自定义类的 Local List 变量
参考代码。
public class BarcodeRecord
{
public INItemXRef record;
public INItemXRefExt recordExt;
public PXEntryStatus status;
}
List<BarcodeRecord> barcodeRecs = new List<BarcodeRecord>();
foreach (INItemXRef item in this.Base.itemxrefrecords.Cache.Cached)
{
BarcodeRecord rec = new BarcodeRecord();
rec.record = item;
rec.recordExt = PXCache<INItemXRef>.GetExtension<INItemXRefExt>(item);
rec.status = this.Base.itemxrefrecords.Cache.GetStatus(item);
barcodeRecs.Add(rec);
}
注意:我将信息从一家公司复制到其他公司的任务似乎仍然无法正常工作!#WorkingWithAcumatica
于 2015-03-16T00:55:10.187 回答