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

在Dynamics CRM 4.0中使用javascript计算年龄,javascript,entity,crm,microsoft-dynamics,Javascript,Entity,Crm,Microsoft Dynamics,首先,我对dynamics crm非常陌生 我有一种情况,我必须计算出发生案件的人的年龄 所涉人员类型为“投诉人” 为此,我们有3个客户实体 new_Case Occurrence Date new_involvePerson Involved Person Type(following are types) - Complainant - Supervisor - Investigator and New_person

首先,我对dynamics crm非常陌生

我有一种情况,我必须计算出发生案件的人的年龄 所涉人员类型为“投诉人”

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

new_Case 
    Occurrence Date
new_involvePerson
    Involved Person Type(following are types)
        - Complainant
        - Supervisor
        - Investigator
and New_person
        - DOB
现在,用户更新事件发生日期,我必须计算投诉人的年龄

事件案例保存时,是否可以在Javascript OnSave中执行此操作? 或者我必须创建工作流或插件吗?有可能得到示例代码吗


提前谢谢

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

检查发生日期是否不为空,然后检索新的参与人类型,如果该类型等于投诉人,则很容易检索参与人的出生日期并计算年龄

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);
    }
}
calculateAge=函数(日期){
var生日=新日期(日期);
var todayDate=新日期();
var todayYear=todayDate.getFullYear();
var todaymount=todayDate.getMonth();
var todayDay=todayDate.getDate();
var birthYear=birthDate.getFullYear();
var birthMonth=birthDate.getMonth();
var birthDay=birthDate.getDate();
var年龄=今天年-出生年;
如果(今天月<生日月){
年龄--;
}
如果(生日==今天月和今天<生日){
年龄--;
}
if(年龄!=未定义&&age!=null){
Xrm.Page.getAttribute(“yourfieldhere”).setValue(年龄);
}
否则{
Xrm.Page.getAttribute(“yourfieldhere”).setValue(null);
}
}