2011-12-15 59 views
2

首先,我是非常新的動態crm。使用動態CRM 4.0中的JavaScript計算年齡

我情況下,我必須計算的人的時代,情況發生 和參與人的類型是「投訴人」

爲此,我們有3個Custome實體

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

現在,用戶更新在事件發生日期,我必須計算投訴人的年齡涉案人

當事件案例保存時,可以在JavaScript OnSave中執行嗎? 還是我必須創建一個工作流程或插件?是否有可能得到的樣本代碼

在此先感謝

回答

1

是的,它是可能的。您只需編寫一個函數並在事件表單保存時觸發它。

檢查發生的日期是否爲空然後檢索new_involvePerson的類型,如果它等於投訴人,然後很容易,您只需檢索involvePerson的出生日期並計算年齡。

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); 
    } 
}