j.a.estevan
Se acaba X++ en Enterprise Portal
Microsoft anuncia retirar en la siguiente versión de Axapta el interfaz X++ para el desarrollo de Enterprise Portal, sustituido en la última version AX 2009 por el interfaz ASP.NET.
Se puede consultar el anuncio en Partner Source y Customer Source
Aprovecho la entrada para enlazar un documento interesante sobre el mismo tema publicado recientemente: White Paper: Overview of Enterprise Portal
HOWTO: AX – Modificar el menu contextual de un objeto
Al hacer “click derecho” sobre un objeto en Dynamics Axapta se ejecuta el metodo showContextMenu, el cual como siempre, podemos sobrecargar. Esta es la pinta que tiene inicialmente:
{
int ret;
ret = super(MenuHandle);
return ret;
}
Es como la mayoría de métodos sobrecargados. Vamos a sustituirlo por este otro código:
{
int ret;
PopupMenu menu;
int menuItem;
;
// Crea un nuevo menú utilizando el manejador recibido por parámetros
menu = PopupMenu::create(MenuHandle, this.hWnd());
// Añade un nuevo Menu Item al menú recién creado
menuItem = menu.insertItem("Mi nuevo menú");
// Abre el menú
ret = menu.draw();
// Comprueba el Menu Item que se ha pulsado
if (ret == menuItem)
{
// Si es el mío, pongo código aqui
Box::info('Pon tu código aquí!');
return 0;
}
// Si ha pulsado alguno que no es el mío, se lo devuelvo al estándar
return ret;
}
Como se puede ver en el ejemplo, podemos añadir por código un nuevo MenuItem al menu contextual y a la vez, capturar la pulsación del mismo para poder ejecutar nuestro propio código de respuesta.
Futuros cambios en X++
Desde un blog publicado por el personal de desarrollo de Microsoft, publican una serie de cambios (no necesariamente los únicos cambios) que se van a realizar en el lenguaje X++ (el lenguaje de Microsoft Dynamics AX) en la próxima versión del producto (de momento, Dynamics AX 6)
Se puede ver el artículo aquí: Forhcoming changes to the X++ language
La mayoría son cambios orientados a mejorar la seguridad del código, dejando ver el esmero con el que mejoran la calidad tanto del compilador como de los desarrollos que pueden salir de él.
HOWTO: AX – Ventana de progreso para procesos largos
Me gustaría empezar a colgar pequeños “trucos” o trozos de código útiles, por un lado con un fin divulgativo para que si a alguien le sirve, lo utilice; y por otro lado con un fin documental para hacer una pequeña biblioteca de código y poder consultarla en caso necesario. Sugerencias seran bien recibidas, como siempre. Como es el primero, empezare por uno muy sencillo:
Se trata de utilizar la clase SysOperationProgress para mostrar el diálogo estandar de progreso, que podemos (y debemos) utilizar en procesos que se puedan alargar mas de unos pocos segundos.
int i;
;
#AviFiles
p.setCaption("Título del diálogo");
p.setAnimation(#AviTransfer);
p.setTotal(100000);
for (i=1; i <= 100000; i++)
{
p.setText(strfmt("Progreso %1", i));
p.incCount();
}
Su utilización es bien sencilla y se puede complicar, por ejemplo para añadir varias barras de progreso en el mismo diálogo, jugando, por ejemplo, con los parámetros del constructor de la clase.