2012-07-19 34 views

Odpowiedz

9

Spróbuj tego:

newTable = originalTable; 
info(strfmt('%1 %2', newTable.recId, originalTable.recId); 

newTable.data(originalTable); 
newTable.insert(); 
info(strfmt('%1 %2', newTable.recId, originalTable.recId); 

Zobaczysz, że pierwsze pismo właśnie tworzy inny jeden wskaźnik do istniejącego rekordu. Drugi tworzy nową kopię istniejącego rekordu.

+8

+1. Dodam, że jeśli nie chcesz kopiować pól systemowych z jednego rekordu do drugiego, ale tylko pola o znaczeniu funkcjonalnym (tj. Pola widoczne w AOT), użyj buf2buf() zamiast danych(). – Max

+1

ah okay, błaga pytanie, dlaczego nie nazywa się coś oczywistego jak .copy() – AnthonyBlake