How to disable ribbon button based on Form in Dynamics CRM 2016?

aminvincent

In this case I have two forms (Information & Manager) with ribbon Approve TOP. This button only enabled/view in Manager form.

I have followed this tutorial. I have already added javascript snippet that I set to my ribbon button enable rules. This is a sample of my code:

function EnableDisableRibbon_ApproveTop() {
    try {
        var formLabel;
        var currForm = Xrm.Page.ui.formSelector.getCurrentItem();
        formLabel = currForm.getLabel();
        
        if (formLabel == "Manager") {
            return true;
        }
        else {
            return false;
        }
    } catch (e) {
        alert("EnableDisableRibbon_ApproveTop : " + e.message);
    }
}

When I opened that form I got this error:

EnableDisableRibbon_ApproveTop : Cannot read property 'getCurrentItem' of null

EnableDisableRibbon_ApproveTop : Cannot read property 'getLabel' of null

Arun Vinoth

1.You have to add null check before trying to access child properties/methods like below:

function EnableDisableRibbon_ApproveTop() {
    try {
        var formLabel;
        var selector = Xrm.Page.ui.formSelector;   

        if(selector != null){
            var currForm = selector.getCurrentItem();

            if(currForm != null){
                formLabel = currForm.getLabel();

                if (formLabel == "Manager") {
                    return true;
                }
                else {
                    return false;
                }
            }
        }
    } catch (e) {
        alert("EnableDisableRibbon_ApproveTop : " + e.message);
    }
}

2.Make sure the user have access to both forms through security role, otherwise Xrm.Page.ui.formSelector returns null for single default form. read more

3.Check the turbo form settings for legacy rendering, if it helps you to solve this error

4.If the control is delayed loading - try setTimeout method to retry the snippet to call the EnableDisableRibbon_ApproveTop() method one more time

Update:
The blogpost you mentioned is another workaround, by setting the global formName variable from each form script instead of formSelector. This is done by overloaded set_formname() function inside Enablerule function RibbonButtonEnable.

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Modify a button label in dynamics crm

分類Dev

Dynamics CRM2016-履歴ログの作成

分類Dev

how to integrate a asp webpage to dynamics crm 2015

分類Dev

How to enable / disable a button based on a checkbox being checked in Angular

分類Dev

Dynamics Crm2016のWordテンプレート

分類Dev

Dynamics CRM2016でFormTypeが適切な値を返さない

分類Dev

Trying to read custom field from Dynamics CRM 2016 using Xrm.WebApi

分類Dev

Microsoft Dynamics CRM 2016、ビジネスユニットIDエラー

分類Dev

How to access Dynamics CRM OData using AngularJS with credentials

分類Dev

Dynamics CRM QueryExpression

分類Dev

How to disable <a> button in jquery?

分類Dev

Microsoft Dynamics CRM 2016にはレコード数の制限がありますか?

分類Dev

Dynamics Crm online2016は機会の状態コードを設定します

分類Dev

Dynamics Crm2016をWindows10にインストールできません

分類Dev

How to disable Office 2016 start screen?

分類Dev

How to disable button or any listerner

分類Dev

How to disable a button on page load?

分類Dev

Dynamics CRM Online 2016 WebAPI-AuzureADオブジェクトIDでユーザーを取得

分類Dev

Dynamics CRM2016でクイック作成した後に親フォームを更新する

分類Dev

Microsoft Dynamics CRM2016サービスエンティティフィールドの作成

分類Dev

Dynamics CRM 2016:複数のフィールドのオートコンプリート

分類Dev

CRM Dynamics 2016ワークフローで-1を掛けることは可能ですか?

分類Dev

Dynamics CRM 2016(オンプレミス)呼び出しユーザーコンテキスト

分類Dev

Dynamics CRM 2016Online-ダイアログを使用した後にレコードを更新する

分類Dev

Dynamics CRM 2016 は、マーケティング リスト用に大量の Excel ファイルを生成します

分類Dev

エンティティの数値フィールドから[最大数]を選択します(Dynamics CRM 2016)

分類Dev

How do you disable "Save and send" in Excel 2010 (in the File ribbon (called backstage in Office 2010)?

分類Dev

Organizing Dynamics CRM customizations and update test environment

分類Dev

How to use button for submitting form?

Related 関連記事

  1. 1

    Modify a button label in dynamics crm

  2. 2

    Dynamics CRM2016-履歴ログの作成

  3. 3

    how to integrate a asp webpage to dynamics crm 2015

  4. 4

    How to enable / disable a button based on a checkbox being checked in Angular

  5. 5

    Dynamics Crm2016のWordテンプレート

  6. 6

    Dynamics CRM2016でFormTypeが適切な値を返さない

  7. 7

    Trying to read custom field from Dynamics CRM 2016 using Xrm.WebApi

  8. 8

    Microsoft Dynamics CRM 2016、ビジネスユニットIDエラー

  9. 9

    How to access Dynamics CRM OData using AngularJS with credentials

  10. 10

    Dynamics CRM QueryExpression

  11. 11

    How to disable <a> button in jquery?

  12. 12

    Microsoft Dynamics CRM 2016にはレコード数の制限がありますか?

  13. 13

    Dynamics Crm online2016は機会の状態コードを設定します

  14. 14

    Dynamics Crm2016をWindows10にインストールできません

  15. 15

    How to disable Office 2016 start screen?

  16. 16

    How to disable button or any listerner

  17. 17

    How to disable a button on page load?

  18. 18

    Dynamics CRM Online 2016 WebAPI-AuzureADオブジェクトIDでユーザーを取得

  19. 19

    Dynamics CRM2016でクイック作成した後に親フォームを更新する

  20. 20

    Microsoft Dynamics CRM2016サービスエンティティフィールドの作成

  21. 21

    Dynamics CRM 2016:複数のフィールドのオートコンプリート

  22. 22

    CRM Dynamics 2016ワークフローで-1を掛けることは可能ですか?

  23. 23

    Dynamics CRM 2016(オンプレミス)呼び出しユーザーコンテキスト

  24. 24

    Dynamics CRM 2016Online-ダイアログを使用した後にレコードを更新する

  25. 25

    Dynamics CRM 2016 は、マーケティング リスト用に大量の Excel ファイルを生成します

  26. 26

    エンティティの数値フィールドから[最大数]を選択します(Dynamics CRM 2016)

  27. 27

    How do you disable "Save and send" in Excel 2010 (in the File ribbon (called backstage in Office 2010)?

  28. 28

    Organizing Dynamics CRM customizations and update test environment

  29. 29

    How to use button for submitting form?

ホットタグ

アーカイブ