【发布时间】:2021-12-08 02:58:37
【问题描述】:
我想从函数showHideAddNewButton 中返回true 或false。我在功能区按钮中有一个EnableRule,它调用了一个自定义规则,该规则调用了这个函数showHideAddNewButton。传递true(将显示按钮)或false(将隐藏按钮)时。
我必须访问实体上的statuscode(状态原因)和statecode(状态)字段。我使用Xrm.WebApi.retrieveMultipleRecords 创建了一个查询,但无法让它返回一个标志。我希望 retrieveMultipleRecords 方法只执行并且永远不会再次被调用,但下面的“返回 true”会被执行,将我的按钮设置为 true。
function showHideAddNewCsrsRecalculation(primaryControl){
var fileNumber = primaryControl.getAttribute("ssg_filenumber").getValue();
Xrm.WebApi.retrieveMultipleRecords("rrg_csrsfile", "?$select=statuscode,statecode,rr_filenumber&$filter=rr_filenumber eq '" + fileNumber + "'").then(
function success(result) {
for (var i = 0; i < result.entities.length; i++) {
var statusCode = result.entities[i].statecode;
var statusReasonCode = result.entities[i].statuscode;
//if draft make button invisible
if (statusReasonCode == 8676725)
return false;
//if submitted make button invisible
if (statusReasonCode == 8676726)
return false;
//if inactive make button invisible
if (statusCode == 1)
return false;
}
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
//if draft make button invisible
//if (primaryControl.getAttribute("statuscode").getValue() == 867670025)
// return false;
//if submitted make button invisible
//if (primaryControl.getAttribute("statuscode").getValue() == 867670026)
// return false;
//if inactive make button invisible
//if (primaryControl.getAttribute("statecode") != 'undefined' && primaryControl.getAttribute("statecode").getValue() == 1)
// return false;
//other options make button visible
return true; --> This keeps getting called as a result my button is always visible
}
【问题讨论】:
标签: javascript dynamics-crm es6-promise dynamics-365 dynamics-crm-365