Referencia entre tablas

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

Muchas veces nos encontramos, que al crear una tabla nueva, y utilizar está, cuando intentamos relacionarla con tablas del sistema, no nos aparece la referencia con otra tablas.

Para solucionar este problema, tenemos que actualizar la referencias cruzadas de Axapta, que son las encargadas de mostranos estas relaciones, para ello tenemos que ejecutar el siguiente Job desde el AOT:

static void daxUpdateRefTableRelation()
{
	Dictionary dict = new Dictionary();
	TableId tableId = 0;
	DictTable dictTable;
	;
 
	tableId = dict.tableNext(tableId);
	while(tableId)
	{
		dictTable = dict.tableObject(tableId);
 
		info(int2str(dictTable.id()) + dictTable.name());
		xRefTableRelation::updateTableId(dictTable.id());
 
		tableId = dict.tableNext(tableId);
	}
}

Borrado de Tabla

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

Si deseamos poder borrar una tabla mediante X++, como si utilizamos la sentencia de SQL Delete From, podemos utilizar el método DeleteTable() de la clase Global.

Al realizar el borrado mediante este método, no se ejecutan los siguientes putntos:

1- El código existente en los métodos Delete de la tabla que deseemos borrar.

2- Las DeleteActions asociadas a la tabla

3- Borra la cache existente de la tabla

De esta manera podemos optimizar el borrado de toda una tabla via X++, sin tener que recurrir a sentencias SQL, ya que no siempre podemos tener acceso al gestor de Base de datos.