Microsoft Dynamics AX nos proporciona un entorno multiempresa. En alguna ocasión se puede requerir que determinados usuarios de la aplicación no puedan ver determinadas empresas.
Una manera que tenemos de conseguir esto seria programando el formulario que nos aparece cuando queremos realizar un cambio de empresa.
Este formulario es el SysDataAreaSelected .
Podemos reprogramar la QUERY que lleva el formulario para evitar que a determinados usuarios les aparezcan determinadas empresas.
Lo haremos en el metodo run() del formulario dejandolo tal como aparece en el siguiente ejemplo :
void run()
{
Query query;
ProdGanttNode_Job ganttJob;
queryBuildDatasource qbs;
qbs = dataArea_ds.query().datasourceTable(tableNum(dataArea));
if ( (CurUserID() == 'USUARIO1') ) // Esta sentencia recoge el usuario.
{
/* Con esta sentencia añadimos a la query el siguiente rango. */
/* Con lo cual el formulario solo mostrara para USUARIO1 las empresas cuyo */
/* id sea igual a EMP1 O EMP2 O EMP3 */
qbs.addRange(FieldNum(dataArea,id)).value(‘EMP1,EMP2,EMP3');
}
super();
}
De igual manera podriamos añadir cualquier tipo de rango o filtro para la consulta.
Nota : Procedimiento realizado en Navision Axapta 2.5 |