Como copiar registros

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en X++

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<=t.fieldCnt(); 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);
			}
		}
	}
}

Etiquetas:, , , ,

Deja un comentario