How to create Lookup Worker Filtered by Legal Entity[AX2012]
1. Add a new method in hcmWorker table, and add this script :
public static client void lookupWorkerByLegalEntity (FormStringControl _lookupctrl, Int64 _LegalEntity) { SysTableLookup sysTableLookup; Query query = new Query(); QueryBuildDataSource queryBuildDataSource, queryBuildDataSource1; ; SysTableLookup = SysTableLookup::newParameters(tableNum(HcmWorker), _lookupctrl); sysTableLookup.addLookupfield(fieldNum(HcmWorker, PersonnelNumber)); sysTableLookup.addLookupfield(fieldNum(HcmWorker, Person)); sysTableLookup.addLookupMethod(tableMethodStr(HcmWorker,workerRelationType)); queryBuildDataSource = query.addDataSource(tableNum(HcmWorker)); queryBuildDataSource1 = queryBuildDataSource.addDataSource(tableNum(HcmEmployment)); queryBuildDataSource1.joinMode(JoinMode::ExistsJoin); queryBuildDataSource1.relations(true); queryBuildDataSource1.addRange(fieldNum(HcmEmployment, LegalEntity)) .value(SysQuery::value(_LegalEntity)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); }
2. Overide method Lookup in datasource field in form which lookup to worker with this script :
public void lookup(FormControl _formControl, str _filterStr) { HcmWorker::lookupWorkerByLegalEntity(_formControl, CompanyInfo::find().RecId); }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步