Notifications
Announcements
No record found.
[Form] public class EmployeePayrollDetails extends FormRun { OrganizationAccess grantType; /// <summary> /// /// </summary> public void init() { super(); Args args = new Args(); args.name(formStr(SysSecRoleAssignOM)); args.caller(element); FormRun formRun = new FormRun(args); // Now retrieve the value passed back FormRadioControl selection = formRun.control(formRun.controlId(formControlStr(SysSecRoleAssignOM,grantAccessRadioButton))) as FormRadioControl; FormDataSource formDs = formRun.dataSource(formDataSourceStr(SysSecRoleAssignOM,omUserRoleOrganization)); OMUserRoleOrganization omOrg = formDs.cursor(); if (selection) { grantType = selection.selection(); } } [Control("String")] class CompanyName { /// <summary> /// /// </summary> public void lookup() { super(); Query query = new Query(); QueryBuildDataSource qbdsCompany = query.addDataSource(tablenum(CompanyInfo)); if (grantType == OrganizationAccess::Organization) { // Add join to filter companies based on user-role organization access QueryBuildDataSource qbdsOrg = qbdsCompany.addDataSource(tablenum(OMUserRoleOrganization)); qbdsOrg.relations(false); qbdsOrg.joinMode(JoinMode::InnerJoin); qbdsOrg.addLink( fieldnum(OMUserRoleOrganization, omInternalOrganization), fieldnum(CompanyInfo, RecId)); // Filter only the current user’s organization access qbdsOrg.addRange(fieldnum(OMUserRoleOrganization, User)).value(queryValue(curUserId())); } // Create the lookup SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(CompanyInfo), this); sysTableLookup.parmQuery(query); // Show DataArea (legal entity) and Name sysTableLookup.addLookupField(fieldnum(CompanyInfo, DataArea)); sysTableLookup.addLookupField(fieldnum(CompanyInfo, Name)); sysTableLookup.performFormLookup(); } } }
[Form] public class EmployeePayrollDetails extends FormRun { [Control("String")] class CompanyName { /// <summary> /// /// </summary> public void lookup() { super(); UserInfo userInfo; SysLookupMultiSelectCtrl msLookupCtrl; Args args = new Args(); args.name(formStr(SysSecRoleAssignOM)); args.caller(element); FormRun formRun = new FormRun(args); // Now retrieve the value passed back FormRadioControl selection = formRun.control(formRun.controlId(formControlStr(SysSecRoleAssignOM, radiogroup))) as FormRadioControl; FormDataSource formDs = formRun.dataSource(formDataSourceStr(SysSecRoleAssignOM,omUserRoleOrganization)); //OMUserRoleOrganization omOrg = args.record(); //select * from userInfo // join omOrg // where omOrg.User == curUserId(); OrganizationAccess grantType; Query query = new Query(); QueryBuildDataSource qbdsCompany = query.addDataSource(tablenum(CompanyInfo)); //if (grantType == OrganizationAccess::Organization) //{ // Add join to filter companies based on user-role organization access QueryBuildDataSource qbdsOrg = qbdsCompany.addDataSource(tablenum(OMUserRoleOrganization)); qbdsOrg.relations(false); qbdsOrg.joinMode(JoinMode::InnerJoin); qbdsOrg.addLink( fieldnum(OMUserRoleOrganization, omInternalOrganization), fieldnum(CompanyInfo, RecId)); // Filter only the current user’s organization access qbdsOrg.addRange(fieldnum(OMUserRoleOrganization, User)).value(queryValue(curUserId())); //} qbdsCompany.addSelectionField(fieldNum(CompanyInfo, DataArea)); qbdsCompany.addSelectionField(fieldNum(CompanyInfo, Name)); msLookupCtrl = SysLookupMultiSelectCtrl::constructWithQuery(this.formRun(), this, query); msLookupCtrl.set(msLookupCtrl.getSelectedFieldValues()); } } }
OMUserRoleOrganization omOrg; boolean hasOrgAccess = false; // Check if the current user has any organization access records select firstonly RecId from omOrg where omOrg.User == curUserId(); hasOrgAccess = (omOrg.RecId != 0); Query query = new Query(); QueryBuildDataSource qbdsCompany = query.addDataSource(tablenum(CompanyInfo)); qbdsCompany.addSelectionField(fieldNum(CompanyInfo, DataArea)); qbdsCompany.addSelectionField(fieldNum(CompanyInfo, Name)); if (hasOrgAccess) { QueryBuildDataSource qbdsOrg = qbdsCompany.addDataSource(tablenum(OMUserRoleOrganization)); qbdsOrg.relations(false); qbdsOrg.joinMode(JoinMode::InnerJoin); qbdsOrg.addLink( fieldnum(OMUserRoleOrganization, omInternalOrganization), fieldnum(CompanyInfo, RecId)); qbdsOrg.addRange(fieldnum(OMUserRoleOrganization, User)).value(queryValue(curUserId())); } msLookupCtrl = SysLookupMultiSelectCtrl::constructWithQuery(this.formRun(), this, query); msLookupCtrl.set(msLookupCtrl.getSelectedFieldValues());
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Abhilash Warrier 669 Super User 2025 Season 2
André Arnaud de Cal... 449 Super User 2025 Season 2
Martin Dráb 384 Most Valuable Professional