cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
malkhawaja
Advocate II
Advocate II

Multi-select field is not retrieved in Mobile-Offline mode

Hi,

I have a form of an entity (Daily Report) in which I added a javascript webresource on the OnChange property of a date field, this webresouce function is to check if the selected date is a weekend or not, and if it is a weekend it will popup an error about it. the weekend setting is configured on another entity (Configuration) as a multi-select option set.

Both entities/tables are enabled for Mobile Offline and included in the Mobile-Offline profile.

in the webresource I am using the (Xrm.WebApi.retrieveMultipleRecords) to get the record that contains the weekend setting and here is the full code:

 

 

function CheckWeekend(executionContext) {
    'use strict';
    var formContext = executionContext.getFormContext();
    var reportDate = formContext.getAttribute('drm1_reportdate').getValue();


    if (!!reportDate) {
        var d = new Date(reportDate);
        var DayNum = d.getDay();
        var Weekends = [
            { Num: 4, Value: 684100000 },
            { Num: 5, Value: 684100001 },
            { Num: 6, Value: 684100002 },
            { Num: 0, Value: 684100003 }
        ];
        var SelectedDayRecord = Weekends.find(elem => elem.Num === DayNum);


        if (!!SelectedDayRecord) {
            var SelectedDayValue = SelectedDayRecord.Value;

            Xrm.WebApi.retrieveMultipleRecords('drm1_configuration', "?$select=drm1_name,drm1_weekend&$orderby=createdon&$top=1").then(//
                function success(result) {
                    // perform operations on on retrieved records
                    var record = result.entities[0];
                    var weekendstng = record.drm1_weekend;
                    if (weekendstng.includes(SelectedDayValue)) {
                        var ErrorWeekendReport = Xrm.Utility.getResourceString('drm1_DialogLocalizations', 'ErrorWeekendReport');
                        var errorOptions = {
                            details: 'The selected date is a Weekend day, please select another date!',
                            errorCode: 404,
                            message: ErrorWeekendReport,
                        };

                        Xrm.Navigation.openErrorDialog(errorOptions).then(
                            function () {
                                // perform operations on error dialog close
                                formContext.getAttribute('drm1_reportdate').setValue(null);
                            }
                        );
                    }

                },
                function (error) {
                    alert(error.message);

                }
            );
        }
    }

}

 

  

the problem that when I go in offline mode the Xrm.WebApi.retrieveMultipleRecords does not recognize the (drm1_weekend) field because it is a multi select field type, so is this a known limitation? or is it a bug?

is there any workaround this issue?

 

thanks,

Mohammad

 

1 REPLY 1

I think that mat be a limitation. Try a n:n relationship, it will work. Multi select option sets have several limitations

Helpful resources

Announcements
Power Platform Call June 2022 768x460.png

Power Platform Community Call

Join us for the next call on August 17, 2022 at 8am PDT.

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Users online (2,291)