Dynamics 365 FO Query List Range Value

Bu yazıda, sorgularımıza liste şeklinde birden çok kısıt eklemeyi inceleyeceğiz.

Öncelikle List dönecek bir method yazacağız.

private List requesterGroupList()
{
    ETGBudgetRequesterGroupTable    budgetRequesterGroupTable;
    ETGBudgetRequesterGroupMember   budgetRequesterGroupMember;
    List list = new List(Types::String);

    while select RequesterGroup from budgetRequesterGroupTable
     exists join budgetRequesterGroupMember
        where budgetRequesterGroupMember.RequesterGroup == budgetRequesterGroupTable.RequesterGroup
        && budgetRequesterGroupMember.Worker == HcmWorkerLookup::currentWorker()
    {
        list.addEnd(budgetRequesterGroupTable.RequesterGroup);
    }

    return list;
}

Ardından SysQueryRangeUtil::queryListRange() kodu ile sorgunuza birden fazla değer ile range eklemeniz mümkün.

QueryBuildRange qbr = ETGBudgetReqTable_ds.queryBuildDataSource().addRange(fieldNum(ETGBudgetReqTable, RequesterGroup));
qbr.value(SysQueryRangeUtil::queryListRange(element.requesterGroupList()));
qbr.status(RangeStatus::Locked);