Form Lookup Method - Dynamics 365 Finance and Operations

Form Lookup Metot

Form Lookup, Dynamics 365 for Finance and Operations’ta veri girişini daha esnek ve kullanıcı dostu hale getirmek için güçlü bir araçtır. Bu yazıda, form lookuplarınızı daha dinamik bir şekilde kullanmanın yollarını adım adım keşfedeceksiniz.


İlk adım olarak, ilgili tablomuzda statik bir metot ekleyeceğiz. Genellikle, bu metodu lookup’ın ana tablosuna eklemek en iyi yöntemdir, ancak ihtiyacınıza göre farklı bir tabloya da ekleyebilirsiniz.

public static void LookupRequesterGroup(FormStringControl _ctrl)
{
    SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(ETGBudgetRequesterGroupTable), _ctrl);
    Query query = new Query();
    QueryBuildDataSource qbdsGroupTable = query.addDataSource(tableNum(ETGBudgetRequesterGroupTable));

    QueryBuildDataSource qbdsGroupMember = qbdsGroupTable.addDataSource(tablenum(ETGBudgetRequesterGroupMember));
    qbdsGroupMember.relations(true);

    qbdsGroupMember.addRange(fieldNum(ETGBudgetRequesterGroupMember, Worker)).value(queryValue(HcmWorkerLookup::currentWorker()));

    sysTableLookup.addLookupfield(fieldNum(ETGBudgetRequesterGroupTable, RequesterGroup));
    sysTableLookup.addLookupfield(fieldNum(ETGBudgetRequesterGroupTable, Name));
    sysTableLookup.addLookupfield(fieldNum(ETGBudgetRequesterGroupTable, WorkerManager));

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}

Sonrasında, formda DataSource üzerindeki ilgili alana sağ tıklayıp "Override" seçeneğini, ardından "Lookup" seçeneğini tıklayın.

Yazdığımız statik metot, aşağıdaki şekilde çağrılabilir:

    [DataSource]
    class ETGBudgetReqTable
    {
        [DataField]
        class RequesterGroup 
        {
            /// <summary>
            ///
            /// </summary>
            /// <param name = "_formControl"></param>
            /// <param name = "_filterStr"></param>
            public void lookup(FormControl _formControl, str _filterStr)
            {
                //super(_formControl, _filterStr);
                ETGBudgetRequesterGroupTable::LookupRequesterGroup(_formControl);
            }

        }

    }

Bu adımlar tamamlandığında, lookuplarınız, bağlı olan çalışana göre filtrelenmiş bir şekilde açılacaktır. Bu sayede, veri girişini daha hızlı ve hatasız bir şekilde gerçekleştirebilirsiniz.

Form Lookup