Hello All,
If you want to achieve the same using latest Web API please try below sample code:
Note : I have added few additional filter conditions. If you do not want them just remove . Also , i am considering only first team for my functionality. If you want all teams just use for reach loop.
// Retreive Data using Web.API ..........................................................................
var userSettings = Xrm.Utility.getGlobalContext().userSettings; // userSettings is an object with user information.
var current_User_Id = userSettings.userId; // The user's unique id
var UserID = current_User_Id.slice(1, -1);
Xrm.WebApi.online.retrieveMultipleRecords("systemuser", "?$expand=teammembership_association($filter=name ne 'Web' and ltf_teamtype eq 100000000;$select=ltf_teamtype,name,teamid)&$filter=systemuserid eq "+UserID+"").then(
function success(results) {
if (results.entities.length > 0) {
var teammembership_association = results.entities[0]["teammembership_association"];
if (teammembership_association.length > 0) {
var UserTeamName = teammembership_association[0].name;
var UserTeamGUID = teammembership_association[0].teamid;
}
var systemuserid = results.entities[0]["systemuserid"];
}
},
function(error) {
Xrm.Utility.alertDialog(error.message);
}
);
Other way to do the same using Fetch XML -
// Retreive Data using fetchXML ......................................................................
var objectTeamAttributes = new Object();
var fetchXML = "<fetch mapping='logical' output-format='xml-platform' version='1.0' distinct='true'>\
<entity name='team'>\
<attribute name='name' />\
<attribute name='businessunitid' />\
<attribute name='teamid' />\
<attribute name='teamtype' />\
<order descending='false' attribute='name' />\
<filter type='and'>\
<condition value='100000000' attribute='ltf_teamtype' operator='eq' />\
<condition value='Web Specialist' attribute='name' operator='ne' />\
</filter>\
<link-entity name='teammembership' to='teamid' from='teamid' intersect='true' visible='false'>\
<link-entity name='systemuser' to='systemuserid' from='systemuserid' alias='ag'>\
<filter type='and'>\
<condition attribute='systemuserid' operator='eq-userid' />\
</filter>\
</link-entity>\
</link-entity>\
</entity>\
</fetch>";
var encodedFetchXml = encodeURI(fetchXML);
var queryPath = "/api/data/v9.1/teams?fetchXml=" + encodedFetchXml;
var requestPath = Xrm.Utility.getGlobalContext().getClientUrl() + queryPath;
var req = new XMLHttpRequest();
req.open("GET", requestPath, true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function ()
{
if (this.readyState === 4)
{
this.onreadystatechange = null;
if (this.status === 200)
{
var returned = JSON.parse(this.responseText);
var results = returned.value;
if (results.length > 0)
{
var TeamName = results[0]["name"];
var TeamGUID = results[0]["teamid"];
objectTeamAttributes.TeamName = TeamName;
objectTeamAttributes.TeamGUID = TeamGUID;
//alert(objectTeamAttributes.TeamName);
//alert(objectTeamAttributes.TeamGUID);
}
}
else
{
alert(this.statusText);
}
}
};
req.send();