Archive
Get and Set ‘Partylist’ fields using Jscript
If you observe “Required” lookup field on an ‘Appointment’ form, you can choose more than one Accounts or Contacts or Users.
Though it looks like a normal lookup field actually it’s a field of type ‘Party list’.
Party List :-
- Party List is a data type in CRM, using which you can set more than one records of an entity for a single field.
- Part List type field, renders as Lookup on the form, but it works as multi select lookup.
- We can’t create a custom party list fields.
For example,
- In the ‘Appointment’ entity field “Required” is a ‘Party List’ type
- We can select multiple records of different type (i.e., Accounts, Users, Contacts…)
Below is Jscript to Get or Set ‘Partylist’
function getPartyList() {
var partyRequired = Xrm.Page.getAttribute(“requiredattendees”);
var attendees = party.getValue();
for (var indxAttendees = 0; indxAttendees < attendees.length; indxAttendees++) {
// User
if (attendees[indxAttendees].type == 8) {
alert(“Attendee is User; Id -” + attendees[indxAttendees].id + ” Name -” + attendees[indxAttendees].name);
}
// Contact
if (attendees[indxAttendees].type == 2) {
alert(“Attendee is Contact; Id -” + attendees[indxAttendees].id + ” Name -” + attendees[indxAttendees].name);
}
}
}
function setPartyList() {
var partyRequired = Xrm.Page.getAttribute(“requiredattendees”);
// Create new array
var partlist = new Array();
partlist[0] = new Object();
partlist[0].id = id; //Guid (i.e., Guid of User or Contact etc)
partlist[0].name = name; //Name (i.e., Name of User or Contact etc)
partlist[0].entityType = entityType; //entity schema name of account or contact
// Set array value
partyRequired.setValue(partlist);
}
Hope it helps 🙂