2016-12-16 4 views
0

CRMの「CLOSE」リボンボタン内に書かれたJavaScriptコードを探して、そのボタンをクリックすると強制的にフォームを閉じることができます。 「ステータス理由」フィールドに次のカスタム値がある場合は、[閉じる]ボタンが有効になります。[承認済み]または[未承認]です。つまり、これらの値に基づいて検証を行う必要があります。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

フォームを閉じるのではなく、レコードのステータスが非アクティブに変わるように、スイッチロジックを使用するだけです。つまり、無効にする必要があります。非アクティブ化ボタンをクリックすると、私のリボンボタンJS shudの働きと同じように、ステータスが非アクティブに変わります。 –

+0

Xrm.Page.ui.close()..この代わりに、他のロジックを使用してレコードのステータスを非アクティブに変更できます。 –

関連する問題