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

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Answered

GetSelectionFilter + SelectionFilterManagement issue

(0) ShareShare
ReportReport
Posted on by

hi,
I have an AL message that shows my multi-select records i.e., Subs are 166..172
The issue is there is 168 in between the range displayed in the message. How can I show everything instead of range i.e. Subs are 166,168,172

Below is my code

trigger OnLookup(var Text: Text): Boolean
var
CitySubPg: Page Cities;
SubTab: Record Subs;
SelectionFilterManagement: Codeunit SelectionFilterManagement;
RecRef: RecordRef;
begin

CitySubPg.SetTableView(SubTab);
CitySubPg.LookupMode(true);
if CitySubPg.RunModal = ACTION::LookupOK then begin
CitySubPg.SetSelectionFilter(SubTab);
RecRef.GetTable(SubTab);


Message('Subs are %1', SelectionFilterManagement.GetSelectionFilter(RecRef, SubTab.FieldNo("SubCode")));

"CityCode" := SelectionFilterManagement.GetSelectionFilter(RecRef, SubTab.FieldNo(Code));
"SubCode" := SelectionFilterManagement.GetSelectionFilter(RecRef, SubTab.FieldNo("SubCode"));

end;
end;

I have the same question (0)
  • Romryan Profile Picture
    on at

    Any suggestion?

  • Suggested answer
    Andy Sather Profile Picture
    on at

    Hello  - We currently do not have dedicated Dev support via the Dynamics 365 Business Central forums, but I wanted to provide you some additional resources to assist.  If you need assistance with debugging or coding I would recommend discussing this on one of our communities.

    www.yammer.com/dynamicsnavdev

    I will open this up to the community in case they have something to add.

  • Suggested answer
    Inge M. Bruvik Profile Picture
    1,111 Moderator on at

    Then you have to first set the range for the records and then loop through them and build the filter string as you loop through the records that match your original filter.

    Maybe it is easier to help you if you share your complete code.

  • Suggested answer
    YUN ZHU Profile Picture
    95,739 Super User 2025 Season 2 on at

    Hi, It seems that this requirement is a bit similar to the test I did before. I hope the following information can give you some hints.

    How to get a filter for the selected records on any page (For example, ‘1..3|6’)

    https://yzhums.com/27561/

    pastedimage1677722493337v1.png

    Thanks.

    ZHU

  • Romryan Profile Picture
    on at

    ZHU,

    Yeah but in that message, I need the message to show everything, even the numbers in between the range. As per now instead of showing me 166,168,172 it shows 166..172.

  • Verified answer
    YUN ZHU Profile Picture
    95,739 Super User 2025 Season 2 on at

    Hi, I understand. If so you should try another solution.

    For example, using SelectionFilterManagement.GetSelectionFilter

                action(GetFilterForSelectedRecords)
                {
                    Caption = 'Get Filter For No.';
                    Promoted = true;
                    PromotedCategory = Process;
                    PromotedIsBig = true;
                    PromotedOnly = true;
                    ApplicationArea = All;
                    Image = GetOrder;
                    trigger OnAction()
                    var
                        SalesHeader: Record "Sales Header";
                        SelectionFilterManagement: Codeunit SelectionFilterManagement;
                        RecRef: RecordRef;
                    begin
                        SalesHeader.Reset();
                        CurrPage.SetSelectionFilter(SalesHeader);
                        RecRef.GetTable(SalesHeader);
                        Message(SelectionFilterManagement.GetSelectionFilter(RecRef, SalesHeader.FieldNo("No.")));
                    end;
                }

    Result:

    pastedimage1677741433080v1.png

    Just add a loop.

                action(GetFilterForSelectedRecords)
                {
                    Caption = 'Get Filter For No.';
                    Promoted = true;
                    PromotedCategory = Process;
                    PromotedIsBig = true;
                    PromotedOnly = true;
                    ApplicationArea = All;
                    Image = GetOrder;
                    trigger OnAction()
                    var
                        SalesHeader: Record "Sales Header";
                        SelectionFilterManagement: Codeunit SelectionFilterManagement;
                        RecRef: RecordRef;
                        FilterText: Text;
                    begin
                        FilterText := '';
                        SalesHeader.Reset();
                        CurrPage.SetSelectionFilter(SalesHeader);
                        RecRef.GetTable(SalesHeader);
                        if SalesHeader.FindFirst() then
                            repeat
                                if FilterText = '' then
                                    FilterText := SalesHeader."No."
                                else
                                    FilterText := FilterText   ','   SalesHeader."No.";
                            until SalesHeader.Next() = 0;
                        Message(FilterText);
                    end;
                }

    Result:

    pastedimage1677741735673v2.png

    Hope this helps.

    Thanks.

    ZHU

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

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 2,135

#2
YUN ZHU Profile Picture

YUN ZHU 733 Super User 2025 Season 2

#3
Sumit Singh Profile Picture

Sumit Singh 612

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans