文章編號: 949941 - 上次校閱: 2009年11月6日 - 版次: 3.0

有啟用 OnChange 事件的欄位會無法使用在 Microsoft 動態 CRM 4.0 中 [編輯多個記錄視窗

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

當您編輯多筆資料錄在編輯多個資料錄] 視窗中 [Microsoft 動態 CRM 4.0 時,有啟用的 OnChange 事件的欄位都無法使用。而且,已停用任何自訂 OnLoad 事件或表單的 OnSave 事件。

發生的原因

Microsoft 動態 CRM 4.0 會停用有 OnChange 事件啟用 [編輯多個資料錄] 視窗中的欄位,就會發生這個問題。Microsoft 動態 CRM 4.0 會停用這些欄位,以便防止 OnChange 事件造成錯誤。

其他可行方案

若要解決這個問題,以手動方式啟用有啟用的 OnChange 事件的欄位。比方說如果以手動方式啟用 parentaccountid 欄位,請依照下列步驟執行:
  1. 匯出帳戶的自訂項目。要這麼做,請您執行下列步驟:
    1. Microsoft 動態 CRM 4.0 中按一下 [設定]、 [自訂,然後按一下 [匯出的自訂
    2. 按一下 [帳戶,按一下 [其他動作,然後再按一下工具列上的 [匯出選取的自訂
    3. 按一下 [確定],然後將匯出的檔案儲存成 AccountCustom.xml 檔案。
  2. 在 [記事本],開啟 AccountCustom.xml] 檔案],然後再找出下一節:
    標籤描述 ="父系帳戶"
  3. 在這部分 AccountCustom.xml 檔案中找出下列一行的程式碼]。
    <event name="setadditionalparams" application="true" active="true">
  4. 變更現有的程式碼行如下所示。
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
    
  5. 接下來,找出下列程式碼行。
    <event name="onchange" application="false" active="true">
  6. 變更現有的程式碼行如下所示。
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. 儲存已變更的 AccountCustom.xml 檔案。
  8. 匯入已變更的 AccountCustom.xml 檔案。要這麼做,請您執行下列步驟:
    1. 按一下 [設定]、 [自訂,] 然後按一下 [匯入
    2. 按一下已變更的 AccountCustom.xml 檔案,然後再按一下 [上載]。
    3. 按一下 [帳戶],按一下 [其他動作,然後再按一下 [匯入選取的自訂
  9. 發佈自訂項目。要這麼做,請您執行下列步驟:
    1. 按一下 [設定]、 [自訂,然後按一下 [自訂項目
    2. 按一下 [帳戶,然後按一下 [工具列上的 [發佈]。
  10. 開啟一個大量編輯表單對於 Account1 和 Account2。
  11. 按一下 [父系帳戶 查閱] 按鈕。

    您可能會看到下列的事件。
    <events>
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
    <script><![CDATA[
    var oLookup = event.srcElement;
    var sAccountId = crmFormSubmit.crmFormSubmitId.value;
    if (sAccountId != "") /* parent account is being updated, filter out this account */
    {
    oLookup.lookupclass="ParentLookup";
    oLookup.AddParam("currentaccount", sAccountId);
    }
    ]]></script>
    </event>
    </events>
    
您可以依照下列步驟執行為 連絡人 實體上 ParentCustomerID 欄位或者有事件任何欄位。這些欄位的有效值如下所示:
  • 已啟用
    如果您使用這個值,已啟用 [] 欄位。此外,事件的程式碼會執行事件被呼叫時。
  • 已停用
    如果您使用這個值,[] 欄位會被停用。
  • EnabledButNoRender
    如果您使用這個值,已啟用 [] 欄位。不過,事件的程式碼不會執行,當事件被呼叫。

其他相關資訊

ParentAccount 欄位和 ParentCustomerID 欄位,正在執行的事件阻止查閱表單顯示所選的帳號。即使將參數設定為 已啟用 值,欄位不要篩選選取的大量帳戶。不過,如果嘗試將本身的父系帳戶大量選取帳戶的您收到一個模糊錯誤訊息在設定父系帳戶時。因此,循環參照從帳號不可以它自己的父代帳戶。

若要啟用 OnLoad 和 OnSave 事件在下列幾行程式碼大量編輯表單的搜尋:
<event name="onload" application="false" active="true">
<event name="onsave" application="false" active="true">


編輯現有的程式碼行,如下所示:
<event name="onload" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
<event name="onsave" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">

這篇文章中的資訊適用於:
  • Microsoft Dynamics CRM 4.0
關鍵字:?
kbmt kbmbscustomization kbexpertisebeginner kbtshoot kbmbsmigrate kbprb kbexpertiseinter KB949941 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:949941? (http://support.microsoft.com/kb/949941/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。