如何使用保存和路由按钮 Dynamics 365?
How can I work with save and route button Dynamics 365?
我需要在保存和分配(路由)之前验证 Dynamics 365 中是否存在一些注释,问题是获取是异步的,而保存是同步的...我知道现在 Microsft 建议使用异步,所以这是什么可行的解决方案是什么? save可以取消调用,但是save and route按钮怎么取消调用呢?或类似的异步操作?
我试过很多类似的东西,但都不行。
Notes(链接到实体)是否有一些 AddChange?
通常我们会使用 preventDefault()
取消 Save 事件,完成所需的步骤并重新发出 Save 就像 。
在您的场景中,特殊的 Save & Route
按钮正在实现保存以及 应用路由规则 操作。此序列没有保存模式使用 getSaveMode
进行拦截和重发。 Reference
但您可以使用功能区 workbench 尝试自定义 保存和路由 按钮并调用自定义 Javascript 操作来执行:
- 使用 fetchXML/web api
验证您的 Notes 记录检查
- 保存记录
- 使用网络调用
ApplyRoutingRule
操作api Read more
不要忘记 Xrm.WebApi
始终是异步的,您必须在成功回调中执行调用链或使用 XMLHttpRequest
同步模式。 Read more
更新:我在 CRM REST Builder 的帮助下编写了这个片段,试试吧。
var parameters = {};
var target = {};
target.incidentid = "00000000-0000-0000-0000-000000000000";
target["@odata.type"] = "Microsoft.Dynamics.CRM.incident";
parameters.Target = target;
var applyRoutingRuleRequest = {
Target: parameters.Target,
getMetadata: function() {
return {
boundParameter: null,
parameterTypes: {
"Target": {
"typeName": "mscrm.crmbaseentity",
"structuralProperty": 5
}
},
operationType: 0,
operationName: "ApplyRoutingRule"
};
}
};
Xrm.WebApi.online.execute(applyRoutingRuleRequest).then(
function success(result) {
if (result.ok) {
//Success - No Return Data - Do Something
}
},
function(error) {
Xrm.Utility.alertDialog(error.message);
}
);
我需要在保存和分配(路由)之前验证 Dynamics 365 中是否存在一些注释,问题是获取是异步的,而保存是同步的...我知道现在 Microsft 建议使用异步,所以这是什么可行的解决方案是什么? save可以取消调用,但是save and route按钮怎么取消调用呢?或类似的异步操作?
我试过很多类似的东西,但都不行。
Notes(链接到实体)是否有一些 AddChange?
通常我们会使用 preventDefault()
取消 Save 事件,完成所需的步骤并重新发出 Save 就像
在您的场景中,特殊的 Save & Route
按钮正在实现保存以及 应用路由规则 操作。此序列没有保存模式使用 getSaveMode
进行拦截和重发。 Reference
但您可以使用功能区 workbench 尝试自定义 保存和路由 按钮并调用自定义 Javascript 操作来执行:
- 使用 fetchXML/web api 验证您的 Notes 记录检查
- 保存记录
- 使用网络调用
ApplyRoutingRule
操作api Read more
不要忘记 Xrm.WebApi
始终是异步的,您必须在成功回调中执行调用链或使用 XMLHttpRequest
同步模式。 Read more
更新:我在 CRM REST Builder 的帮助下编写了这个片段,试试吧。
var parameters = {};
var target = {};
target.incidentid = "00000000-0000-0000-0000-000000000000";
target["@odata.type"] = "Microsoft.Dynamics.CRM.incident";
parameters.Target = target;
var applyRoutingRuleRequest = {
Target: parameters.Target,
getMetadata: function() {
return {
boundParameter: null,
parameterTypes: {
"Target": {
"typeName": "mscrm.crmbaseentity",
"structuralProperty": 5
}
},
operationType: 0,
operationName: "ApplyRoutingRule"
};
}
};
Xrm.WebApi.online.execute(applyRoutingRuleRequest).then(
function success(result) {
if (result.ok) {
//Success - No Return Data - Do Something
}
},
function(error) {
Xrm.Utility.alertDialog(error.message);
}
);