2016-12-16 18 views
0

尋找可以在CRM中的'CLOSE'功能區按鈕內部寫入的JavaScript代碼,可以在單擊該按鈕時強制關閉我的表單。當名稱爲「狀態原因」的字段具有以下自定義值時,CLOSE按鈕應起作用:已批准或未批准即,驗證必須基於這些值完成。使用功能區定製的Javascript驗證

回答

0

假設你的意思是標準的「狀態原因」字段(statuscode):

function closeButton() { 

    // Replace the numbers with the actual OptionSetValues for your statuscode 
    var relevantStatusCodeValues = { 
     Approved: 1, 
     NotApproved: 2 
    }; 

    var currentStatusCode = Xrm.Page.getAttribute("statuscode").getValue(); 

    switch(currentStatusCode) { 
     case relevantStatusCodeValues.Approved: 
     case relevantStatusCodeValues.Approved: 

      // Ensure nothing gets in the way of closing the record 
      Xrm.Page.data.entity.attributes.get().forEach(function(attr) { 
       attr.setSubmitMode("never"); 
      }); 

      // Close the form 
      Xrm.Page.ui.close(); 

     default: 
      // Nothing to do 
      break; 
    } 
} 

你也可能要採用<ValueRule>隱藏按鈕時的StatusCode ISN」你明確支持的一個。

+0

嗨亞歷克斯你的代碼真的很有幫助!我會很感激,如果你幫我解決這個問題!基本上我想寫一個JS裏面的功能區按鈕,將像停用按鈕,即設置窗體的狀態當表格的狀態原因是「批准」或「未批准」時無效。 –

+0

不適合使用開關邏輯,而不是關閉表格,記錄狀態應該變爲非活動狀態..i.e它應該被取消激活。就在我們點擊取消激活按鈕時crm的方式,狀態更改爲不活動,就像我的功能區按鈕JS shud工作一樣。 –

+0

Xrm.Page.ui.close()..除此之外,我們可以使用其他邏輯將記錄的狀態更改爲非活動狀態。 –