CRM 2011 时区在 OnChange 事件中
CRM 2011 Timezone in OnChange Event
我正在定制我们的CRM解决方案。由于时区不同,有时案例或任务中的截止日期不一致,因为时间默认为凌晨 12 点午夜。因此,对于不同的时区,截止日期可能晚一天或早一天。
为了解决这个问题,我们将截止日期字段的默认时间(逻辑名称="跟进")设置为晚上7点。我们正在使用 Java 脚本函数为截止日期字段创建一个 OnChange 事件,如下所示。在设置库和函数名称的"处理程序属性"对话框中,我选中了"将执行上下文作为第一个参数传递"选项。因此,在下面的函数中,它接收"上下文"参数:
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 函数集合放在一起,然后我决定放入一个单独的新网络资源中,它现在可以工作了......奇怪但有效。
谢谢。
你定义 JavaScript 函数的代码是错误的,请尝试使用
function setCaseDueDate(context) {
// rest of the code
}
要更改日期,则不需要上下文,例如:
function setCaseDueDate() {
var fieldName = "followupby";
var sTmp = Xrm.Page.getAttribute(fieldName).getValue();
if (currentDate != null) {
var newTime = new Date(sTmp.getFullYear(), sTmp.getMonth(), sTmp.getDate(), 19, 0, 0);
Xrm.Page.getAttribute(fieldName).setValue(newTime);
}
}
相关文章:
- 如何使用javascript和PHP动态触发onChange事件
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 如何在jQuery中为asp:textbox生成onchange事件
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 当select标记触发onChange事件时,从mysql数据库加载html表
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 如何使select onchange事件在页面加载时发生
- 在onchange事件中,可以传递不是当前控件的参数吗
- OnChange事件未激发
- 如何在onChange之前触发onClick事件(即使值已更改)
- 此multi-onChange事件是否有效
- 如何在Jasmine/Rect中测试带有范围输入的“onChange”事件
- JSON无法处理OnChange事件
- 为什么我的onchange事件发生在页面加载时,而不是在触发时
- 如何在React's onChange事件
- JS:Onchange事件在启动时激活
- 基本CKEditor/JQuery事件onChange
- 如何使事件onchange的HTML输入对象不提示文件资源管理器
- 文本区域中的事件onchange不't触发,直到触摸UI