使用功能区自定义进行Javascript验证

时间:2016-12-16 06:36:59

标签: javascript dynamics-crm-2011

正在寻找可以写在' CLOSE'内的javascript代码。 CRM中的功能区按钮,可以在单击该按钮时强制关闭我的表单。 CLOSE按钮应该在名为'状态原因'的字段时起作用。具有以下自定义值:已批准或未批准,即必须根据这些值进行验证。

2 个答案:

答案 0 :(得分:0)

我相信Xrm.Page.ui.close()就是你所需要的。您可以在此处找到更多信息 - https://msdn.microsoft.com/en-us/library/gg327828.aspx#BKMK_close

答案 1 :(得分:0)

假设您的意思是标准的“状态原因”字段(statuscode):

function closeButton() {

    // Replace the numbers with the actual OptionSetValues for your statuscode
    var relevantStatusCodeValues = {
        Approved: 1,
        NotApproved: 2
    };

    var currentStatusCode = Xrm.Page.getAttribute("statuscode").getValue();

    switch(currentStatusCode) {
        case relevantStatusCodeValues.Approved:
        case relevantStatusCodeValues.Approved:

            // Ensure nothing gets in the way of closing the record
            Xrm.Page.data.entity.attributes.get().forEach(function(attr) {
                attr.setSubmitMode("never");
            });

            // Close the form
            Xrm.Page.ui.close();

        default:
            // Nothing to do
            break;
    }
}

当状态代码不是您明确支持的状态代码时,您可能还希望使用<ValueRule>隐藏按钮。