martes, 30 de marzo de 2010

Presentación Dynamics AX 2009

Hola, navegando por internet me encontre con esta presentación que me pareció realmente interesante, les dejo el link para que lo vean

http://www.microsoft.com/global/dynamics/en/us/RichMedia/demoHTML/demo-ax-capabilities.html

Saludos.

miércoles, 24 de marzo de 2010

Restringir empresas a usuarios

Hola, con este parrafo de codigo se puede restringir empresas a usuarios específicos, ya que como sabemos AX soporta multiempresas.
Para esto debemos ir al formulario SysDataAreaSelect y reprogramar el query en el metodo Run().

x++:

void run()
{
Query query;
queryBuildDatasource qbs;

qbs = dataArea_ds.query().datasourceTable(tableNum(dataArea));

if ( (CurUserID() == 'USU1') ) //check usuarios
{
/* Con esta sentencia añadimos a la query el siguiente rango */
/* El formulario solo mostrara para USU1 las empresas cuyo id sea igual a
EMP1 o EMP2*/
qbs.addRange(FieldNum(dataArea,id)).value('EMP1,EMP2');
}

super();
}
saludos.

martes, 9 de marzo de 2010

Modificando el menu contextual de un objeto

Hola, aqui muestro como como agregar un item en los menus que salen al hacer clic derecho en un objeto.
Un menu de este tipo aparece al llamar el metodo showContextMenu y su codigo default es:

public int showContextMenu(int MenuHandle)
{
int ret;

ret = super(MenuHandle);

return ret;
}

Bueno es cuestión de cambiar este código:

public int showContextMenu(int MenuHandle)
{
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)
{
// Aquí es donde se pone cualquier codigo
Box::info('Pon código aquí!');

return 0;
}

// Si ha pulsado alguno que no es el mío, se lo devuelvo al estándar
return ret;
}

Saludos.