使用Dynamics CRM 4.0中的javascript计算年龄

时间:2011-12-15 16:53:25

标签: javascript entity crm microsoft-dynamics

首先,我是动态crm的新手。

我有情况需要计算案件发生的人的年龄 涉及的人员类型是“投诉人”

为此,我们有3个客户实体

new_Case 
    Occurrence Date
new_involvePerson
    Involved Person Type(following are types)
        - Complainant
        - Supervisor
        - Investigator
and New_person
        - DOB

现在,用户更新事件中的发生日期,我必须计算投诉人参与人的年龄

当事件案例保存时,是否可以在Javascript OnSave中执行此操作? 或者我是否必须创建工作流程或插件?是否可以获取示例代码

提前致谢

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。您只需编写一个函数并在事件表单的保存时触发它。

检查Occurence Date是否为空,然后检索new_involvePerson的类型,如果等于Complainant,那么您只需检索涉及的出生日期并计算年龄即可。

calculateAge = function (date) {

    var birthDate = new Date(date);
    var todayDate = new Date();
    var todayYear = todayDate.getFullYear();
    var todayMonth = todayDate.getMonth();
    var todayDay = todayDate.getDate();
    var birthYear = birthDate.getFullYear();
    var birthMonth = birthDate.getMonth();
    var birthDay = birthDate.getDate();

    var age = todayYear - birthYear;

    if (todayMonth < birthMonth) {
        age--;
    }

    if (birthMonth == todayMonth && todayDay < birthDay) {
        age--;
    }
    if (age != undefined && age != null) {
        Xrm.Page.getAttribute("yourfieldhere").setValue(age);
    }
    else {
        Xrm.Page.getAttribute("yourfieldhere").setValue(null);
    }
}