动态 crm - 使用 JavaScript 从 CRM 中的日期和时间字段获取日期字符串值

dynamics crm - Get Date string value from Date and Time field in CRM using JavaScript

本文关键字:字段 时间 获取 取日期 字符串 日期 使用 crm JavaScript CRM 动态      更新时间:2023-09-26

我正在尝试从自定义日期和时间字段中获取日期字符串值(mm/dd/yyyy),并将返回的值设置回自定义字段。我找到了这个脚本并修改了它,但它似乎不起作用。当我逐步完成代码时,它会在 var year = startDate.getFullYear() + " 上中断; 知道我做错了什么吗?谢谢。

    function ConcatChainsAuth() {
    var startDate = Xrm.Page.getAttribute("new_dateauthorized").getValue();
    if (startDate != null) {
        var year = startDate.getFullYear() + "";
        var month = (startDate.getMonth() + 1) + "";
        var day = startDate.getDate() + "";
        var dateFormat = month + "-" + day + "-" + year;
      Xrm.Page.getAttribute("new_dateauthorized").setValue(dateFormat);
    }
    var lookupObject = Xrm.Page.getAttribute("new_chain");
    if (lookupObject != null) {
        var lookUpObjectValue = lookupObject.getValue();
        if ((lookUpObjectValue != null)) {
            var Chain = lookUpObjectValue[0].name;
        }
    }
    var lookupObject = Xrm.Page.getAttribute("new_package");
    if (lookupObject != null) {
        var lookUpObjectValue = lookupObject.getValue();
        if ((lookUpObjectValue != null)) {
            var Package = lookUpObjectValue[0].name;
        }
    }
    var concatedField = Chain + "-" + Package + "-" + dateFormat;
    Xrm.Page.getAttribute("new_name").setValue(concatedField);
    Xrm.Page.data.entity.save();

}

假设new_dateauthorized是 CRM 日期字段,则Xrm.Page.getAttribute("new_dateauthorized").getValue()将返回一个Date对象。

在这种情况下,您可以直接操作Date对象,如下所示:

var currentDate = Xrm.Page.getAttribute("new_dateauthorized").getValue();
currentDate.setMonth(currentDate.getMonth() + 1);
Xrm.Page.getAttribute("new_dateauthorized").setValue(currentDate);

但是,在某些情况下,以这种方式添加月份会失败,请查看此处的评论以获取更多信息。