0

我想知道我们如何创建整个缓存的副本。我们有一个方法 createCopy() 来创建数据记录的副本,有什么类似的吗?

4

2 回答 2

1

Acumatica中没有类似CopyCache()方法的东西,但缓存确实提供了对当前存储在其中的修改记录的访问。您可以通过三个属性访问它们:PXCache.InsertedPXCache.UpdatedPXCache.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 回答