Javascript OnChange事件中的CRM 2011时区

Javascript OnChange事件中的CRM 2011时区,javascript,dynamics-crm-2011,Javascript,Dynamics Crm 2011,我正在定制我们的CRM解决方案。由于时区不同,有时案例或任务的截止日期不一致,因为时间默认为午夜12点。因此,对于不同的时区,到期日可能晚一天或早一天 为了解决这个问题,我们将到期日期字段(logical name=“followupby”)的默认时间设置为晚上7点。我们使用Java脚本函数为到期日期字段创建一个OnChange事件,如下所示。在“处理程序属性”对话框中设置库和函数名,我选中“将执行上下文作为第一个参数传递”选项。因此,在我下面的函数中,它接收“context”参数: setCa

我正在定制我们的CRM解决方案。由于时区不同,有时案例或任务的截止日期不一致,因为时间默认为午夜12点。因此,对于不同的时区,到期日可能晚一天或早一天

为了解决这个问题,我们将到期日期字段(logical name=“followupby”)的默认时间设置为晚上7点。我们使用Java脚本函数为到期日期字段创建一个OnChange事件,如下所示。在“处理程序属性”对话框中设置库和函数名,我选中“将执行上下文作为第一个参数传递”选项。因此,在我下面的函数中,它接收“context”参数:

setCaseDueDate: function (context) {

    var oField = context.getEventSource().getValue();
    var sTmp = oField;

    var hours =19;
    var minutes = 0;
    var seconds = 0;

    if (typeof (oField) != "undefined" && oField != null) {

        var newTime = new Date(sTmp.getFullYear(), sTmp.getMonth(), sTmp.getDate(), hours, minutes, seconds);
        context.getEventSource().setValue(newTime);
    }        
},
但是,我一直收到一个错误,上面写着“此字段的自定义事件有错误。错误'setCaseDueDate'未定义。”

可能是函数中的某些值未定义,还是可能没有正确获取“context”参数

谢谢,非常感谢你的帮助

***更新************

别担心这个。。。我把我的函数和现有的Javascript函数集合放在一起,然后我决定把它放到一个单独的新webresource中,它现在可以工作了。。。很奇怪,但很有效


谢谢。

您定义JavaScript函数的代码错误,请尝试使用

函数setCaseDueDate(上下文){
//代码的其余部分
}
要更改日期,不必更改上下文,例如:

函数setCaseDueDate(){
var fieldName=“followupby”;
var sTmp=Xrm.Page.getAttribute(fieldName.getValue();
如果(currentDate!=null){
var newTime=新日期(sTmp.getFullYear(),sTmp.getMonth(),sTmp.getDate(),19,0,0);
Xrm.Page.getAttribute(fieldName).setValue(newTime);
}
}