Export user based
roles in Ax 2012 R3
static void
Export_Userbasedroles(Args _args)
{
SysExcelApplication
xlsApplication;
SysExcelWorkBooks
xlsWorkBookCollection;
SysExcelWorkBook
xlsWorkBook;
SysExcelWorkSheets
xlsWorkSheetCollection;
SysExcelWorkSheet
xlsWorkSheet;
SysExcelRange
xlsRange;
CustTable
custTable;
int row = 1;
str fileName;
SecurityUserRole
_SecurityUserRole;
SecurityRoleTaskGrant
_SecurityRoleTaskGrant;
SecurityTask
_SecurityTask;
SecurityRole
_SecurityRole;
UserInfo
_UserInfo;
fileName
= @"C:\Users\Rajendra\Desktop\Roles.xlsx";
xlsApplication =
SysExcelApplication::construct();
xlsWorkBookCollection =
xlsApplication.workbooks();
xlsWorkBook =
xlsWorkBookCollection.add();
xlsWorkSheetCollection = xlsWorkBook.worksheets();
xlsWorkSheet =
xlsWorkSheetCollection.itemFromNum(1);
xlsWorkSheet.cells().item(row,1).value("User Role");
xlsWorkSheet.cells().item(row,2).value("User Id");
xlsWorkSheet.cells().item(row,3).value("Legal Entity");
row++;
while select
_UserInfo
{
while select
_SecurityUserRole where
_SecurityUserRole.User==_UserInfo.id
{
while select _SecurityRole where _SecurityRole.RecId==_SecurityUserRole.SecurityRole
{
xlsWorkSheet.cells().item(row,1).value(_SecurityRole.Name);
xlsWorkSheet.cells().item(row,2).value(_UserInfo.id);
xlsWorkSheet.cells().item(row,3).value(_UserInfo.company);
row++;
}
}
}
if(WinApi::fileExists(fileName))
WinApi::deleteFile(fileName);
xlsWorkbook.saveAs(fileName);
xlsApplication.visible(true);
}
From reference
Thanks so much it saved my time.
ReplyDelete