Показать сообщение отдельно
Старый 16.06.2014, 13:45   #7  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вы уверены что проверили настройки часового пояса в профиле пользователя?

Судя по всему, проблема, все же в вашем коде. Извращения с часовым поясом требуются только для того, чтобы использовать функцию toISOString, которая, кстати, не поддерживается в IE8-. Если накляпать дату вручную (в локальных значениях), то все корректно работает:
X++:
function OpenForm()
{
    debugger;

    var now = new Date();
    now.setMinutes(now.getMinutes() + now.getTimezoneOffset() * -1);

    var parameters = {};
    parameters["subject"] = "Test";
    parameters["scheduledstart"] = toLocalISODateString(now);

    Xrm.Utility.openEntityForm("appointment", null, parameters);
}

function toLocalISODateString(date)
{
    function _twoString(number) {
        return number > 9 ? "" + number : "0" + number;
    }

    if (date.toISOString == undefined)
    {
        var isoDateString = date.getUTCFullYear();
        isoDateString += "-" + this._twoString(date.getUTCMonth() + 1);
        isoDateString += "-" + this._twoString(date.getUTCDate());
        isoDateString += "T" + this._twoString(date.getUTCHours());
        isoDateString += ":" + this._twoString(date.getUTCMinutes());
        isoDateString += ":" + this._twoString(date.getUTCSeconds());
        isoDateString += "." + this._twoString(date.getUTCMilliseconds());
        isoDateString += "Z";
        return isoDateString;
    }
    else
    {
        return date.toISOString();
    }
}
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional