zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    Html 回顾
    Parallel 并行编程
    Task---常用的多线程(基于多线程线程)
    Threadpool 可以对线程加以管理的封装
    AsyncThreads---异步多线程
    Abstract 封装,继承,多态
    IO&&Serize 利用线程Thread.Sleep实现"自动输出"
    Ling && Lambda
    Delegate&&Event
    Delegate &&Lambda
  • 原文地址:https://www.cnblogs.com/Fandyx/p/3355696.html
Copyright © 2011-2022 走看看