En ciertas ocasiones, necesitamos poder copiar un registro, sin utilizar el método Data(), sino que lo que queremos es ir recorriendo uno a uno todos los campos de un registro seleccionado y copiarlo en otro variable del mismo tipo.

Para ello podemos utilizar el siguiente ejemplo, el cual se llamaría de la siguiente forma: copyFields(custTable, custTableTo);

 

static void CopyFields(Common _from, Common _to)
{
DictTable t;
DictField f;
int i;
fieldId id;
FieldName fieldname;
;

t = new DictTable(_to.TableId);
if (t)
{
for (i=1; i
{
id = t.fieldCnt2Id(i);
f = new DictField(_to.TableId,t.fieldCnt2Id(i));

//Aqui podemos excluir campos del sistema como DataAreaid, RecId, CreatedDateTime ..

if (f && !f.isSystem())
{
_to.(id) = _from.(id);
}
}
}
}