Dynamics crm 基于团队的按钮可见
按钮应基于团队可见。例如,如果登录到“测试团队”的用户部分,“测试按钮”应为启用状态。如果未禁用,则为禁用状态。我使用的是webapi。但它给出的值为空。有任何建议吗Dynamics crm 基于团队的按钮可见,dynamics-crm,Dynamics Crm,按钮应基于团队可见。例如,如果登录到“测试团队”的用户部分,“测试按钮”应为启用状态。如果未禁用,则为禁用状态。我使用的是webapi。但它给出的值为空。有任何建议吗 function GetUserTeam() { var clientUrl1 = Xrm.Page.context.getClientUrl(); var oDataPath1 = clientUrl1 + "/api/data/v8.0/"; var req1 = new XMLHttpRequest(); try {
function GetUserTeam() {
var clientUrl1 = Xrm.Page.context.getClientUrl();
var oDataPath1 = clientUrl1 + "/api/data/v8.0/";
var req1 = new XMLHttpRequest();
try {
var strTest = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
" <entity name='team'>" +
" <attribute name='name' />" +
" <attribute name='businessunitid' />" +
" <attribute name='teamid' />" +
" <attribute name='teamtype' />" +
" <order attribute='name' descending='false' />" +
" <filter type='and'>" +
" <condition attribute='teamtype' operator='eq' value='0' />" +
" </filter>" +
" <link-entity name='teammembership' from='teamid' to='teamid' visible='false' intersect='true'>" +
" <link-entity name='systemuser' from='systemuserid' to='systemuserid' alias='ab'>" +
" <filter type='and'>" +
" <condition attribute='systemuserid' operator='eq-userid' />" +
" </filter>" +
" </link-entity>" +
" </link-entity>" +
" </entity>" +
"</fetch>";
req1.open("GET", oDataPath1 + "teams?fetchXml=" + encodeURI(strTest), true);
req1.setRequestHeader("Accept", "application/json");
req1.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req1.setRequestHeader("OData-MaxVersion", "4.0");
req1.setRequestHeader("OData-Version", "4.0");
req1.onreadystatechange = function () {
if (this.readyState == 4) {
// debugger;
req1.onreadystatechange = null;
if (this.status == 200) {
var reqResults = JSON.parse(this.response).value;
if (reqResults != null && reqResults.length > 0) {
if ("TestTeam"==reqResults.length[i].name){return true;}
else{return false;}
}
}//End of for
}//En of IF
}
else {
var error = JSON.parse(this.response).error;
alert(error.message);
}
}
};
req1.send();
}
catch (e) {
alert(e);
}
}
函数GetUserTeam(){
var clientUrl1=Xrm.Page.context.getClientUrl();
var oDataPath1=clientUrl1+“/api/data/v8.0/”;
var req1=新的XMLHttpRequest();
试一试{
var strTest=“”+
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
"";
请求1.打开(“获取”,oDataPath1+“团队”?fetchXml=“+encodeURI(strTest),true);
请求1.setRequestHeader(“接受”、“应用程序/json”);
请求1.setRequestHeader(“内容类型”,“应用程序/json;字符集=utf-8”);
请求1.setRequestHeader(“OData MaxVersion”,“4.0”);
请求1.setRequestHeader(“OData版本”、“4.0”);
req1.onreadystatechange=功能(){
if(this.readyState==4){
//调试器;
req1.onreadystatechange=null;
如果(this.status==200){
var reqResults=JSON.parse(this.response).value;
if(reqResults!=null&&reqResults.length>0){
if(“TestTeam”==reqResults.length[i].name){return true;}
else{return false;}
}
}//结束
}//IF的En
}
否则{
var error=JSON.parse(this.response).error;
警报(错误消息);
}
}
};
请求1.send();
}
捕获(e){
警报(e);
}
}
感谢您发布示例代码。它有一些语法错误,但我想这是因为你为这篇文章编辑了它。例如,For循环不存在,括号缺失
function GetUserTeam(onSuccess, onError) {
var clientUrl1 = Xrm.Page.context.getClientUrl();
var oDataPath1 = clientUrl1 + "/api/data/v8.0/";
var req1 = new XMLHttpRequest();
try {
var strTest = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
" <entity name='team'>" +
" <attribute name='name' />" +
" <attribute name='businessunitid' />" +
" <attribute name='teamid' />" +
" <attribute name='teamtype' />" +
" <order attribute='name' descending='false' />" +
" <filter type='and'>" +
" <condition attribute='teamtype' operator='eq' value='0' />" +
" </filter>" +
" <link-entity name='teammembership' from='teamid' to='teamid' visible='false' intersect='true'>" +
" <link-entity name='systemuser' from='systemuserid' to='systemuserid' alias='ab'>" +
" <filter type='and'>" +
" <condition attribute='systemuserid' operator='eq-userid' />" +
" </filter>" +
" </link-entity>" +
" </link-entity>" +
" </entity>" +
"</fetch>";
req1.open("GET", oDataPath1 + "teams?fetchXml=" + encodeURI(strTest), true);
req1.setRequestHeader("Accept", "application/json");
req1.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req1.setRequestHeader("OData-MaxVersion", "4.0");
req1.setRequestHeader("OData-Version", "4.0");
req1.onreadystatechange = function () {
if (this.readyState == 4) {
// debugger;
req1.onreadystatechange = null;
if (this.status == 200) {
var returnValue = false;
var reqResults = JSON.parse(this.response).value;
if (reqResults != null && reqResults.length > 0) {
for(var i = 0, j = reqResults.length; i < j; i++){
if ("TestTeam" == reqResults[i].name){
returnValue = true;
break;
}
}
}
// Call the handler
onSuccess && onSuccess(returnValue);
}
else {
var error = JSON.parse(this.response).error;
alert(error.message);
onError && onError(error);
}
}
};
req1.send();
}
catch (e) {
alert(e);
onError && onError(e);
}
}
函数GetUserTeam(onSuccess,onError){
var clientUrl1=Xrm.Page.context.getClientUrl();
var oDataPath1=clientUrl1+“/api/data/v8.0/”;
var req1=新的XMLHttpRequest();
试一试{
var strTest=“”+
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
"";
请求1.打开(“获取”,oDataPath1+“团队”?fetchXml=“+encodeURI(strTest),true);
请求1.setRequestHeader(“接受”、“应用程序/json”);
请求1.setRequestHeader(“内容类型”,“应用程序/json;字符集=utf-8”);
请求1.setRequestHeader(“OData MaxVersion”,“4.0”);
请求1.setRequestHeader(“OData版本”、“4.0”);
req1.onreadystatechange=功能(){
if(this.readyState==4){
//调试器;
req1.onreadystatechange=null;
如果(this.status==200){
var returnValue=false;
var reqResults=JSON.parse(this.response).value;
if(reqResults!=null&&reqResults.length>0){
对于(变量i=0,j=reqResults.length;i
这当然是可以在动力学中实现的。显示给出空值的代码。我得到了返回值。但当我使用功能区按钮调用此函数时,按钮不是禁用/启用。很抱歉延迟重播。非常感谢,我刚刚修改了u r代码。现在我可以隐藏/显示按钮。请找到以下几点。我已经声明了一个全局变量,比如var teamValu=false;然后,我编写了单独的函数[Usehestam]。我检查teamvalue是否为null或未定义,设置