6
以下の2つのステートメントの違いは何ですか?テーブル=テーブルとテーブル。データ(テーブル)
newTable = orginalTable
又は
newTable.data(originalTable)
私は、それがより一般的に標準AXに使用される.DATA()メソッドへのパフォーマンス上の利点があると思われます。
以下の2つのステートメントの違いは何ですか?テーブル=テーブルとテーブル。データ(テーブル)
newTable = orginalTable
又は
newTable.data(originalTable)
私は、それがより一般的に標準AXに使用される.DATA()メソッドへのパフォーマンス上の利点があると思われます。
はこれを試してみてください:
newTable = originalTable;
info(strfmt('%1 %2', newTable.recId, originalTable.recId);
newTable.data(originalTable);
newTable.insert();
info(strfmt('%1 %2', newTable.recId, originalTable.recId);
あなたが最初の文だけで、既存のレコードにもう一つのポインタを作成していることがわかります。 2番目は既存のレコードの新しいコピーを作成します。
+1。あるレコードから別のレコードにシステムフィールドをコピーするのではなく、機能的な意味を持つフィールド(AOTで見ることができるフィールド)だけをコピーする場合は、data()の代わりにbuf2buf()を使用してください。 – Max
ああ、大丈夫です。なぜ、それが.copy() – AnthonyBlake