0

キャッシュ全体のコピーを作成する方法を知りたいです。データ レコードのコピーを作成するメソッド createCopy() がありますが、それに似たものはありますか?

4

2 に答える 2

1

Acumatica にはメソッドのようなものはありませんCopyCache()が、キャッシュは現在キャッシュに保存されている変更されたレコードへのアクセスを提供します。PXCache.Insertedこれらには、 、PXCache.Updated、の 3 つのプロパティからアクセスできますPXCache.Deleted

これらのコレクションからレコードのローカル コピーを収集し、いくつかの変数に保存して、後でもう一度キャッシュにプッシュすることができます。

于 2015-03-13T10:49:41.533 に答える
0

@Alex Turokが言及したように、

私が見つけた唯一の方法は、レコード、拡張子、PXEntryStatus などの必要なレコードの詳細を保存するクラスを作成することでした。Persist の前に、Cache.Cached レコードをループしてレコードを取得し、カスタム クラスの Local List 変数に保存しました。

refのコード。

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 に答える