簡體   English   中英

Dynamics CRM —在表單腳本中處理onLoad和OnSave事件

[英]Dynamics CRM — Handling onLoad vs OnSave events in Form Scripting

我為涉及動態顯示的問題及其回答能力的自定義實體創建了一些代碼。 我正在努力顯示以前回答的問題,以及更新答案的能力。 為此,我有一些功能會觸發我的自定義實體表單的onLoad,另一個會觸發onSave。

我的麻煩是每次保存時我的onLoad代碼都會運行,從而有效擦除了onSave代碼的輸出。 我只希望我的onLoad代碼在第一次加載表單時運行。 否則,我要觸發onSave的代碼應處理其他所有問題。

我嘗試解決此問題的一種方法是使用Xrm.Page.ui.getFormType(); 這將返回值1或2,其中1對應於正在創建的記錄,2對應於正在更新的記錄。 這在一種情況下有效-我不希望在為自定義實體創建新記錄時運行onLoad代碼,而getFormType()解決了此問題。 但是,當我保存記錄時,返回值改變了,並導致我的onLoad代碼運行OnSave,這使事情搞砸了。

關於如何解決這個問題有任何想法嗎? 我可以預見,像getFormType()這樣的東西很有用,但是我對如何處理事情有些茫然。 謝謝!

將一個onChange事件處理程序添加到modifiedon屬性,該值僅在保存記錄后才會更改,您可以具有全局參數並設置其值,並使用其值來阻止onLoad重新觸發。

var canRunOnLoadCode = true;

//form onLoad function
function onLoad() {
 if(!canRunOnLoadCode) return;
//on load code below
}

//register the below function on change of modified on
function afterOnSave(){
 canRunOnLoadCode = false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM