|
|
#1 |
|
Участник
|
Копирование строк таблицы с помощью DictTable
прочитал:
манипуляции с таблицами Можно ли имея только название(имя) таблицы добавить в неё запись? т.к. мне необходимо копировать строки таблиц, возникла идея использовать один метод класса для дублирования записей любых таблиц: Код: static common copy(int _tablenum,
int _countField, // количество полей
recid _recid)
{
DictTable dt = new DictTable(_tablenum);
int i,insertMethodNum;
FieldId fieldId;
Common record, newrecord;
;
if(dt.fieldCnt()<_countField)
throw error('');
record = dt.makerecord();
select firstonly record where record.recid == _recid;
newrecord = dt.makeRecord();
for(i=1;i<=_countField;i++)
{
fieldId = dt.fieldCnt2Id(i);
newrecord.(fieldId) = record.(fieldId);
}
return newrecord;
}я изменяю значения нескольких полей, которые должны быть отличными от оригинала и вставляю строку... Код: myTable.Data(RecordCopy::Copy(tablenum(myTable),20,recId));
myTable.TransDate = systemdateget();
...
myTable.Insert();на сколько корректен код метода? каким образом, если возможно, использовать orig(), что то типа record.orig().(fieldId), для получения значения до изменения? |
|
|