web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Answered

Adding query ranges

(0) ShareShare
ReportReport
Posted on by 640

Hi Experts,

Below is a part of my code that I am using for one of my report. I need to add one more range in my query that to look only for the records in the CustTransTable with AmountMst >0. how can I add this range in my query. Please help. 


queryBuildDataSource = query.dataSourceTable(tablenum(CustTrans));

if (_asOfdate)
{
queryBuildRange = queryBuildDataSource.findRange(fieldnum(CustTrans, TransDate));

if (!queryBuildRange)
{
queryBuildRange = queryBuildDataSource.addRange(fieldnum(CustTrans, TransDate));
}

if(!queryBuildRange.value())
queryBuildRange.value(queryRange(_fromDate,_asOfDate));
}

queryRun = new QueryRun(query);
while(queryRun.next())
{
_custTrans = queryRun.get(tableNum(CustTrans));

this.findTransactions();

}

I have the same question (0)
  • Verified answer
    Martin Dráb Profile Picture
    240,020 Most Valuable Professional on at

    First of all, let me add indentation, so we can read your code more easily. Next time, please don't forget to use Insert > Insert Code.

    queryBuildDataSource = query.dataSourceTable(tablenum(CustTrans));
    
    if (_asOfdate)
    {
    	queryBuildRange = queryBuildDataSource.findRange(fieldnum(CustTrans, TransDate));
    
    	if (!queryBuildRange)
    	{
    		queryBuildRange = queryBuildDataSource.addRange(fieldnum(CustTrans, TransDate));
    	}
    
    	if (!queryBuildRange.value())
    	{
    		queryBuildRange.value(queryRange(_fromDate,_asOfDate));
    	}
    }
    
    queryRun = new QueryRun(query);
    while (queryRun.next())
    {
    	_custTrans = queryRun.get(tableNum(CustTrans));
    	this.findTransactions();
    }

    This will add a range for AmountMst > 0:

    queryBuildDataSource.addRange(fieldNum(CustTrans, AmountMST)).value('>0');

    By the way, you could simplify your code with findOrCreateRange:

    if (_asOfdate)
    {
    	transDateRange = SysQuery::findOrCreateRange(custTransDs, fieldnum(CustTrans, TransDate));
    	if (!transDateRange.value())
    	{
    		transDateRange.value(queryRange(_fromDate, _asOfDate));
    	}
    }

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.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 410 Super User 2026 Season 1

#2
Subra Profile Picture

Subra 390

#3
Martin Dráb Profile Picture

Martin Dráb 262 Most Valuable Professional

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans