首页 > 解决方案 > 现场服务:通过 SDK/API 取消 BookableResourceBooking 的正确方法?

问题描述

BookableResourceBooking 实体在此处记录:

https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/entities/bookableresourcebooking

我希望能够取消预订,但我似乎找不到任何解释如何取消预订的 SDK 或 API 文档。将bookingstatus值更改为“已取消”是否足以取消预订?我将在哪里输入原因代码?

标签: dynamics-crm

解决方案


您可以使用 SDK 和 API 执行此操作。

当您在 CRM 中看到可预订资源预订时,您可以看到停用按钮。单击它将停用可预订资源预订。

现在有一种更简洁的数据管理方式,您可以将预订状态设置为已取消,然后停用记录,这样您就可以捕获完整的数据,作为可预订资源预订记录被取消/停用的原因。

var entity = {};
entity["bookingstatus@odata.bind"] = "/bookingstatuses(bbda588b-013a-eb11-a813-000d3a25bbe9)"; /* cancelled booking status ID*/
entity.statecode = 1; /*Inactive*/
entity.statuscode = 2; /*Inactive*/

Xrm.WebApi.online.updateRecord("bookableresourcebooking", "bbda588b-013a-eb11-a813-000d3a25bbe9", entity).then(
    function success(result) {
        var updatedEntityId = result.id;
    },
    function(error) {
        Xrm.Utility.alertDialog(error.message);
    }
);

推荐阅读