【问题标题】:Get Date string value from Date and Time field in CRM using JavaScript使用 JavaScript 从 CRM 中的日期和时间字段获取日期字符串值
【发布时间】:2016-07-12 18:43:43
【问题描述】:

我正在尝试从自定义日期和时间字段中获取日期字符串值(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();


}

【问题讨论】:

  • 我将 3 个字段连接到表单上的名称字段中。我试图让字段像这样连接:Field1 - Field2 - 7 -12 - 2016 但它像这样连接:Field1 - Field2 - Tue Jul 12 2016 00:00:00 GMT-0700(太平洋夏令时间)
  • startDate的数据类型是什么?
  • @trincot 感谢您的回复。 startDate 是表单上自定义日期/时间字段的变量。
  • 我明白这一点,但由于某种原因,它似乎无法识别为日期。已通过console.log(startDate) 确认数据类型为日期/时间?
  • @trincot 我已经确认,因为我可以在 CRM 的字段属性中查看数据类型。

标签: javascript dynamics-crm return-value datefield


【解决方案1】:

假设new_dateauthorized 是一个CRM 日期字段,那么Xrm.Page.getAttribute("new_dateauthorized").getValue() 将返回一个Date object

在这种情况下,您可以像这样操作Date 对象:

var currentDate = Xrm.Page.getAttribute("new_dateauthorized").getValue();

currentDate.setMonth(currentDate.getMonth() + 1);

Xrm.Page.getAttribute("new_dateauthorized").setValue(currentDate);

但是,在某些情况下,以这种方式添加月份会失败,请查看 cmets here 了解更多信息。

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多