public void init() { next init(); UserInfo userInfo; SecurityUserRole securityUserRole; SecurityPrivilege securityPrivilege; SecurityRolePrivilegeExplodedGraph securityRolePrivilegeExplodedGraph; select firstonly RecId from userInfo exists join securityUserRole where securityUserRole.User == curUserId() exists join securityRolePrivilegeExplodedGraph where securityRolePrivilegeExplodedGraph.SecurityRole == securityUserRole.SecurityRole exists join securityPrivilege where securityPrivilege.RecId == securityRolePrivilegeExplodedGraph.SecurityPrivilege && securityPrivilege.Identifier == 'YOURPRIVILEGENAME' && securityUserRole.AssignmentStatus == RoleAssignmentStatus::Enabled && (securityUserRole.ValidFrom < DateTimeUtil::utcNow() || securityUserRole.ValidFrom == utcDateTimeNull()) && (securityUserRole.ValidTo > DateTimeUtil::utcNow() || securityUserRole.ValidTo == utcDateTimeNull()); // Check if the user has a specific security privilege if (userInfo.RecId) { // Find the control and hide it FormStringControl control = this.design().controlName(formControlStr(HcmWorkerV2, SN)); if (control) { control.visible(false); } } }
Binarycode (Microsoft Dynamics AX 2012 and D365FO)
This blog is contains coding reference related to Microsoft AX 2012 and D365 finance and operations and Power platform
Tuesday, January 27, 2026
Find privilege assigned to a user role
Wednesday, October 15, 2025
Open form through code y passing filtered query using X++
/// <summary> /// Clicked /// </summary> public void clicked() { next clicked(); MedVisit visit; MenuFunction menuFunction; visit = this.formRun().dataSource(formDataSourceStr(MedVisit, MedVisit)).cursor(); FormRun formRun; Args args = new Args(); // Set the query to the form args.name(formStr(CASEvents)); // args.caller(this.formRun()); // Open the form with the specified query formRun = classFactory.formRunClass(args); formRun.init(); FormDataSource formDataSource = formRun.datasource(); formDataSource.query().dataSourceNo(1).addRange(fieldNum(CASEventsTable, EventID)).value(visit.CIAEventID); formDataSource.executeQuery(); formDataSource.getFirst(); formDataSource=formDataSource.getFirst().dataSource(); args.record(formDataSource.getFirst()); formRun.run(); formRun.wait(); }
Subscribe to:
Comments (Atom)