Para esto están las barras de progreso mundialmente conocidas, es algo como lo siguiente:
Para hacerlo en nuestro código es muy sencillo, primero necesitamos identificar el inicio de nuestro proceso, por ejemplo, yo tengo un lectura de una base de datos externa que tarda unos cuantos segundos, así que al inicio de todo mi proceso agrego mi progress
public void run()
{
#Macrolib.AviFiles
str ruta;
//ruta = "Data Source = 'C:\\Temp\\RBAsset.sdf'; LCID= 1033; Case Sensitive=true";
if (ruta != "" )
{
progress = new RunbaseProgress( 1, null);
progress.setCaption( strFmt ("Procesando %1" , "base de datos movil"));
progress.setTotal(TotalDeRegistros);
progress.setAnimation(#AviTransfer);
progress.updateInterval( 1 );
//Llena tabla intermedia
this.bulkToAx(ruta);
}
else
warning( "No se ha definido la ruta de la BD ó el dispositivo no esta conectado." );
}
//Manda llamar la clase de .Net para leer la BD Sdf del dispositivo movil
public void bulkToAx( str _rutaBd)
{
System.Data.DataRowCollection dataRowCollection;
System.Data.DataRow dataRow;
int i,totalRow;
GRWActivosFijosSdf gRWActivosFijosSdf;
System.Data.DataTable tablaNet = new System.Data.DataTable();
GRWBdSdfToAx.GRWBdSdfToAxClass clase = new GRWBdSdfToAx.GRWBdSdfToAxClass();
tablaNet = clase.ConsultaTodosLosActivos(_rutaBd);
dataRowCollection = tablaNet.get_Rows();
totalRow = dataRowCollection.get_Count();
for(i = 0 ; i < totalRow; i ++)
{
dataRow = dataRowCollection.get_Item(i);
gRWActivosFijosSdf.clear();
gRWActivosFijosSdf.CodigoBarras = dataRow.get_Item( 0 );
gRWActivosFijosSdf.Descripcion = dataRow.get_Item( 1 );
gRWActivosFijosSdf.Serie = dataRow.get_Item( 2 );
gRWActivosFijosSdf.insert();
progress.setCount(i);
progress.setText( strFmt ("Cargando registro: %1" ,i));
progress.update( true );
}
}
Post que podrían interesarte:
Distintos tipos de indicadores de progreso
Consultas en tablas con ValidTimeState en Ax 2012
Multiselect de grid en Ax 2012
Crear lookup en clase dialog
Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio de algo.
No olvides que te puedes unir a la página en Facebook Aprendiendo Dynamics Ax donde únicamente se tratan temas de desarrollo y se busca crear una comunidad de desarrollador@s de Ax en nuestro idioma.
No hay comentarios.:
Publicar un comentario