Получить строковое значение даты из поля даты и времени в CRM, используя JavaScript

Я пытаюсь получить значение строки даты (мм / дд / гггг) из настраиваемого поля даты и времени и вернуть возвращенное значение в настраиваемое поле. Я нашел этот скрипт и изменил его, но он не работает. Когда я шагаю по коду, он разбивается на 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();


}

1 ответ

При условии, что 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);

Тем не менее, добавление месяцев таким способом не удается в некоторых случаях, проверьте комментарии здесь для получения дополнительной информации.

Другие вопросы по тегам