Show specific entities in Activity Party List Lookup in D365 Activity entity

Out-of-the-box, D365 Activity Party List field, say, Appointment’s Required/Optional Attendees fields lets you choose among multiple Activity Party enabled entities when you want to select records. And perhaps you don’t even want users to select what’s not relevant.

default

Let’s look at how we can show only the required entities in the selection list.

Before that, if you want to check how you can enable custom entities for the Activity Party, you can refer this post of mine – Enable entity for Party List selection in Appointment

Hide entities from the Activity Party List field

This can be achieved by writing a simple JS code and calling it onLoad of the Appointment form where the Party List field exists.

  1. Let’s say you only want to show the entities Lead and Contact in the Required Attendees Party List field
  2. Here’s the JS code that goes on the onLoad function of the Appointment form
    // JavaScript source code
    oAppointmentFormCustomization =
    {
    filterRequiredAttendees: function () {
    Xrm.Page.getAttribute("requiredattendees").setLookupTypes(["lead","contact"]);
    }
    };

     

  3. And call the method filterRequiredAttendees onLoad as below
    onLoad
  4. The Appointment’s Required Attendees field will show only the entities you provided in the setLookupTypes([“lead”,”contact”]);
    filtered

Hope this helps!

Advertisements

How to add Rating Values to Rating Models in D365 Field Service and PSA

Rating Models and Rating Values are attributed to Bookable Resources in Dynamics 365 PSA and Field Service. Out-of-the-box, there are 3 Rating Values – Familiar, Good & Proficient. But obviously, you want to customize to have your own.

This is a tricky change and this post will exactly describe before you end up doing something wrong.

If you think all you need to do is add a Rating Value to the Rating Model and save, it won’t work

addRating

Because when you do this, the Value field is locked and you can’t enter anything and just saving the record with the name of the Rating Value will result in the error as shown below

errorWhenDirect

Update Max Rating on Rating Model

So, the right way to do it is to update the Max Rating Value on the Rating Model record.

updateMaxRating

As soon as I save the record, see the an additional Rating Value appears. And in fact, these are the new records that were created when you updated the Max Rating Value and not that the old ones were renamed to ‘Enter rating label here…’

newLabelsToEnter

Note: You can simply enter the record and update all the Ratings inside to the corresponding values.

What happens to existing Ratings used for Resources?

They are all there but have been deactivated, if you query all the Rating Values as is, you’ll see the ones created due to the change we did above and the ones that already existed were suffixed with “[Inactive]” label. See below –

newlyCreated

Well, since these are all the new records created, the old ones are ‘Deactivated‘. What remains with the existing Bookable Resource Characteristics records are the Inactive ones.

inactiveAssigned

To update these, you can do a simple Advanced Find by querying one of the inactive Rating Values and updating them using Bulk Edit to set the new one.

  1. Query the inactive ones
    queryInactive
  2. And simply Bulk Edit to update the Inactive ones
    bulkEditInactive

By the way, if you want to Bulk Clear and start fresh, you can check my blog on Bulk Clearing fields using Advanced Find here – D365 Quick Tip: Bulk Clear field values

Hope this helps you!

 

Use Read-Only grid among Editable Grid enabled entities in D365

When you enable Editable Grid for an entity, all the public views become Editable Grids, correct?

And if you wonder if you can keep certain grids as Read-Only and the rest as Editable, your assumption is correct. Here’s what this blog is about.

You can still go back and select a particular grid which you want to keep as a classic Read-Only grid

  1. Let’s say you have added the Editable Grid under Controls. This will apply Editable Grids for all the Views on that entity.
    enabledEditable
  2. And you want Vendors view, for example, to show the classic Read-Only grid, open it up.
    vendorView
  3. Select Custom Controls.
    customControls
  4. And force-add another Read only grid even if it says the Default one is already selected.
    forceAddRead-Only
  5. Save and Publish you changed and check
    classicGrid
  6. And the rest of the grids will continue to be Editable Grids
    editableOthers

Note: I tried this on the Unified Interface and this works. Somehow, it didn’t work on the Classic Web UI.

 

Hope this helps!

D365: Why do fields go missing from Advanced Find

At times, end users are used to working with Advanced Find a lot without having much control over what they can customize. Because for obvious reasons, they are users. And not someone who customize the system.

In this case, they might also not know what they can’t search for in the Advanced Find and are led into believing that all the fields are being shown.

And they could even wonder why it doesn’t appear in Advanced Find when they can see it on the Form/View.

However, there’s a configuration which can either hide/show the fields in the Advanced Find.

Making Fields Searchable

So this is the answer. If fields are not Searchable, they don’t appear in Advanced Find
featureOff

Advanced Find field list with the missing field
invisibleField

 

And, when the Searchable is set to Yes, they appear in the Advanced Find.

featureOn

Advanced Find showing the Searchable enabled field
visibleField

 

So that’s why. Hope this helps!