попробуйте такое
X++:
static Common copyRecord(Common _fromRecord, Common _toRecord)
{
DictTable dt = new DictTable(_fromRecord.tableId);
DictField df;
int i;
int j;
;
dt.makeRecord();
for (i=1; i <= dt.fieldCnt(); i++)
{
df = new DictField(_fromRecord.tableId, dt.fieldCnt2Id(i));
if (!df.isSystem())
{
if (df.arraySize() == 1)
{
_toRecord.(df.id()) = _fromRecord.(df.id());
}
else
{
for (j=1;j<=df.arraySize();j++)
{
_toRecord.(fieldId2Ext(df.id(), j)) = _fromRecord.(fieldId2Ext(df.id(), j));
}
}
}
}
return _toRecord;
}
тут еще и массивы копируются