2011-06-27 188 views
0

我想填寫Microsoft Dynamics CRM 2011中自定義實體的名稱字段。 我編寫了一個函數,該函數將在此實體的onsave觸發器中觸發。自動填寫Microsoft Dynamics CRM 2011實體中的名稱字段

當這個字段不是必需的時,此函數可以正常工作。但他們希望這個領域是業務所需。所以當我嘗試保存一條新記錄時,我收到一條消息,說明該字段必須填寫。這意味着我的onsave函數永遠不會被調用。

這裏是我的代碼保存記錄時調用:

var ls_string = ""; 

// put some text in ls_string 

var myName = ""; 
if (myName != Xrm.Page.getAttribute("name").getValue()) { 
    Xrm.Page.getAttribute("name").setValue(ls_string); 
    Xrm.Page.getAttribute("name").setSubmitMode("always");   

} 

回答

3

嗯,以及不同的地方在ls_string文本從何而來,您可以在保存事件被觸發之前做name字段的人口。

一個典型的例子是,當「名字」或「姓氏」字段發生變化時,將姓名字段更新爲「名字」+「姓氏」。

但是,使用客戶端腳本來填寫字段並不一定是最好的計劃。最好使用插件來執行業務邏輯,以避免任何漏洞。

如果該字段是Business Required,這並沒有幫助,但我沒有看到該標誌實際給您帶來的優勢......如果您確實需要業務所需的標誌,那麼您將填入一個假的值在客戶端腳本中,並且始終將其覆蓋在插件中。

+0

+1'最好使用插件來執行業務邏輯' – ccellar

相關問題