Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

QueryBuildDatasource add range not equal to enum value

(0) ShareShare
ReportReport
Posted on by 914

I'm in AX 2012 R3 environment.I would like to add a query range to GeneralJournalEntry table and filter out rows that have a JournalCategory value different to LedgerTransType::Purch , i try this but not works :

datasource.addRange(fieldnum(GeneralJournalEntry,JournalCategory)).value(SysQuery::valueNot(enum2str(LedgerTransType::Purch)));

Update : it works for one range ,but what if i want add multiple value to range like this :

datasource.addRange(fieldnum(GeneralJournalEntry,JournalCategory)).value(SysQuery::valueNot(LedgerTransType::Sales));
datasource.addRange(fieldnum(GeneralJournalEntry,JournalCategory)).value(SysQuery::valueNot(LedgerTransType::Purch));

In sql we have :
select * from GENERALJOURNALENTRY where GENERALJOURNALENTRY.JOURNALCATEGORY not in (2,3)

*This post is locked for comments

  • Dang Vo Profile Picture
    31 on at
    RE: QueryBuildDatasource add range not equal to enum value

    that good for me

  • Verified answer
    Community Member Profile Picture
    on at
    RE: QueryBuildDatasource add range not equal to enum value

    This works with multiple ENUMS:

    this.query().dataSourceTable(tablenum(PurchTable)).addRange(fieldnum(PurchTable, PurchStatus)).value(strfmt('!%1,!%2',enum2str(PurchStatus::Canceled),enum2str(purchstatus::Invoiced)));

  • Verified answer
    Community Member Profile Picture
    on at
    RE: QueryBuildDatasource add range not equal to enum value

    This also works:

    this.query().dataSourceTable(tablenum(PurchTable)).addRange(fieldnum(PurchTable, InvoiceAccount)).value('!Transfer'+','+'!5050');

  • Verified answer
    Anton Venter Profile Picture
    19,595 Super User 2025 Season 1 on at
    RE: QueryBuildDatasource add range not equal to enum value

    Standard query ranges result in an "OR" operator in the SQL and when you are doing a "NOT", you should have "AND" instead. To achieve this in AX using query ranges, use expressions in query ranges, see http://www.axaptapedia.com/Expressions_in_query_ranges

  • b_radlyjames Profile Picture
    3,089 on at
    RE: QueryBuildDatasource add range not equal to enum value

    the 'addRange' method is the way to do this.  Make sure you use enum2str on your 2 addRange lines.

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

🌸 Community Spring Festival 2025 Challenge 🌸

WIN Power Platform Community Conference 2025 tickets!

Jonas ”Jones” Melgaard – Community Spotlight

We are honored to recognize Jonas "Jones" Melgaard as our April 2025…

Kudos to the March Top 10 Community Stars!

Thanks for all your good work in the Community!

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 294,095 Super User 2025 Season 1

#2
Martin Dráb Profile Picture

Martin Dráb 232,866 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,158 Moderator

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans