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
PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Users online (2,586)