다음을 통해 공유


명령 모음의 단추는 Power Apps에 표시되어야 할 때 숨겨집니다.

적용 대상: Power Apps
원본 KB 번호: 4552163

단추가 숨겨져 있는 이유 확인

단추가 false로 평가되는 명령사용 규칙 또는 표시 규칙으로 인해 단추를 숨길 수 있습니다. 연결된 명령에 Mscrm.HideOnModern 통합 인터페이스 애플리케이션에서 단추를 숨기는 표시 규칙이 있을 수 있습니다. 단추를 강제로 숨기는 HideCustomAction 을 만들 수도 있습니다. 사용자가 오프라인 상태이면 사용 규칙이 없는 Mscrm.IsEntityAvailableForUserInMocaOffline 사용자 지정 명령 및 기본 명령이 표시되지 않습니다.

경고

  • EntityPrivilegeRule 형식의 표시 규칙은 다음 중 하나의 PrivilegeType 값(만들기, 쓰기, 삭제, 할당, 공유)으로 평가되며, 엔터티에 모바일에서 읽기 전용 옵션이 활성화되어 엔터티가 읽기 권한만 허용하도록 강제하는 경우 false 평가됩니다. 모바일에서 읽기 전용 플래그가 엔터티에서 사용하도록 설정된 경우 false로 평가되는 가장 일반적인 기본 시스템 규칙의 예는 다음과 이지만 이 목록(Mscrm.CreateSelectedEntityPermission, Mscrm.CanWritePrimaryMscrm.WritePrimaryEntityPermissionMscrm.WriteSelectedEntityPermissionMscrm.CanDeletePrimaryMscrm.CanWriteSelectedMscrm.CanSavePrimaryMscrm.DeleteSelectedEntityPermissionMscrm.AssignSelectedEntityPermissionMscrm.DeletePrimaryEntityPermissionMscrm.SharePrimaryPermission) Mscrm.ShareSelectedEntityPermission목록으로만 제한되지는 않습니다. 엔터티를 편집하고 모바일에서 읽기 전용 옵션을 선택 취소하여 규칙에서 테스트하는 권한도 사용자에게 부여된 경우 이러한 규칙이 true로 평가되도록 허용할 수 있습니다.
  • 통합 인터페이스에 Mscrm.HideOnModern 단추를 강제로 표시하려면 명령에서 표시 규칙을 제거하지 마세요. 표시 규칙이 있는 Mscrm.HideOnModern 명령은 레거시 웹 클라이언트 인터페이스용이며 통합 인터페이스에서 지원되지 않으며 제대로 작동하지 않을 수 있습니다.
  1. 명령 검사기를 사용하도록 설정하고 검사할 명령 단추를 선택합니다.

  2. 다음 예제에서는 연락처 엔터티의 그리드 페이지에 있는 새로 만들기 단추가 표시되지 않고 새로 만들기(숨김)라는 레이블이 지정된 항목으로 표시됩니다.

    참고

    단추가 나열되지 않은 경우 설치된 HideCustomAction 사용자 지정 또는 연결된 명령에 Mscrm.HideOnModern 표시 규칙이 있을 수 있습니다. 이 가이드를 작성할 때 명령 검사 도구는 또는 Mscrm.HideOnModern 표시 규칙에 의해 HideCustomAction 숨겨진 단추를 나열하지 않습니다. 현재 이 목록을 보강하여 이 정보를 향후 업데이트에 포함하기 위해 노력하고 있습니다.

    스크린샷은 연락처 엔터티의 그리드 페이지에 있는 새로 만들기 단추가 표시되지 않고 새로 만들기(숨김)라는 레이블이 지정된 항목으로 표시됩니다.

    참고

    모든 규칙이 True로 평가될 때 단추가 여전히 숨겨져 있는 경우 그리드의 컨텍스트에 중요한 명령 때문일 수 있습니다. 그리드에서 레코드를 선택하면 요소가 없는 SelectionCountRule 모든 단추가 선택한 레코드와 관련이 없는 것으로 간주됩니다. 그리고 규칙 평가가 True인 경우에도 숨겨집니다. 플라이아웃 자식에는 레코드 기반 명령이 있을 수 있기 때문에 플라이아웃은 영향을 받지 않습니다.

  3. 명령 속성 탭을 선택하여 이 단추에 대한 명령의 세부 정보를 표시합니다. 그러면 각 규칙 평가의 결과(True, False, Skipped)와 함께 사용 규칙 및 표시 규칙이 표시됩니다. 다음 예제에서는 새로 만들기(숨겨진) 단추의 명령을 Mscrm.NewRecordFromGrid 보여 줍니다. 그러면 단추가 숨겨지게 되므로 False로 평가된 라는 new.contact.EnableRule.EntityRule 사용 규칙이 있습니다.

    스크린샷은 새로 만들기(숨겨진) 단추에 대한 명령의 명령 속성 세부 정보를 보여줍니다.

  4. new.contact.EnableRule.EntityRule 펼침 단추 아이콘을 선택하여 규칙의 세부 정보를 확인하여 사용 규칙을 확장합니다. 규칙이 True 또는 False로 평가되는 이유를 이해하려면 규칙 유형을 약간 이해해야 합니다. 각 규칙 유형에 대한 자세한 내용은 리본 사용 규칙 정의리본 표시 규칙 정의를 참조하세요. 다음 예제에서는 규칙 유형이 엔터티이고 엔터 티 논리 이름이 계정임을 보여 주는 예제입니다. 현재 엔터티는 계정과 같지 않은 연락처이므로 이 규칙은 False를 반환합니다.

    스크린샷은 규칙의 세부 정보를 보는 예제를 보여줍니다.

  5. 단추의 표시 유형을 수정하는 데 필요한 접근 방식은 특정 시나리오의 다양한 사용자 지정에 따라 달라집니다. 예제 고려:

    • 규칙에 선언된 엔터티가 연락처 로 설정되었지만 계정으로 설정된 경우 이 규칙을 잘못 만든 경우 사용 규칙을 편집 new.contact.EnableRule.EntityRule 하고 규칙을 true로 평가할 수 있도록 변경할 수 있습니다.
    • 이 규칙이 의도치 않게 명령에 추가된 경우 명령을 수정 Mscrm.NewRecordFromGrid 하고 명령 정의에서 사용 규칙을 제거할 new.contact.EnableRule.EntityRule 수 있습니다.
    • 명령이 Microsoft 게시 정의의 재정의인 경우 이 사용자 지정 버전의 명령을 삭제하여 기본 기능을 복원할 수 있습니다.

복구 옵션

아래 탭 중 하나에서 복구 옵션을 선택합니다. 첫 번째 탭은 기본적으로 선택됩니다.

명령을 삭제하는 방법

명령의 작업 정의가 포함된 다른 솔루션 계층이 있는 경우 정의를 삭제하여 비활성 작업 정의를 복원할 수 있습니다.

이것이 유일한 계층이고 더 이상 명령이 필요하지 않은 경우 다른 단추가 명령을 참조하지 않는 경우 솔루션에서 제거할 수 있습니다.

명령을 삭제하려면 사용자 지정을 설치한 솔루션을 결정해야 합니다.

  1. 명령 이름 아래의 명령 정의 솔루션 계층 보기 링크를 선택하여 명령 정의를 설치한 솔루션을 봅니다.

    명령 이름 아래에 있는 명령 정의 솔루션 계층 보기 링크의 스크린샷.

  2. 솔루션 계층 창에는 특정 솔루션이 설치한 각 리본 구성 요소 정의의 계층화가 표시됩니다. 목록 맨 위에 있는 계층은 애플리케이션에서 사용되는 현재 정의이며, 다른 계층은 비활성 상태이며 현재 애플리케이션에서 사용되지 않습니다. 최상위 솔루션이 제거되거나 정의를 제거하는 업데이트된 버전이 설치된 경우 다음 계층은 애플리케이션에서 사용하는 현재 활성 정의가 됩니다. 관리되지 않는 활성 솔루션 계층이 있는 경우 항상 애플리케이션에서 사용하는 정의입니다. 나열된 활성 솔루션이 없는 경우 목록 맨 위에 나열된 솔루션은 애플리케이션에서 사용하는 정의입니다. Microsoft에서 게시하지 않은 사용자 지정 관리형 솔루션도 Microsoft에 게시된 솔루션 계층보다 우선합니다.

    엔터티 컨텍스트는 리본 사용자 지정이 켜져 있는 개체를 나타내며, "모든 엔터티"가 나열된 경우 계층은 엔터티가 아닌 애플리케이션 리본 클라이언트 확장에서 온 것이며, 그렇지 않으면 엔터티의 논리적 이름이 나열됩니다.

    둘 이상의 계층이 있는 경우 두 개의 행을 선택하고 비교 를 선택하여 각 솔루션에서 가져온 정의의 비교를 볼 수 있습니다.

    뒤로를 선택하면 이전 명령 검사기 창으로 돌아갑니다.

    다음 이미지는 예제의 명령에 대한 솔루션 계층을 보여 줍니다. 이 예제에는 Active라는 솔루션이 나타내는 관리되지 않는 사용자 지정이라는 연락처 엔터티에 대한 솔루션 계층이 있음을 나타냅니다. 실제 시나리오가 다를 수 있고, 활성 솔루션 계층이 없을 수도 있고, 관리형 솔루션이 있을 수 있으며, 해당 솔루션의 이름이 여기에 나열됩니다.

    스크린샷은 솔루션 계층의 예를 보여줍니다.

  3. 이제 솔루션 계층을 검토하고 사용자 지정을 설치한 솔루션을 확인했으므로 적절한 솔루션에서 정의를 수정해야 합니다.

특정 시나리오와 일치하는 다음 옵션 중 하나를 선택합니다.

명령은 관리되지 않는 활성 솔루션에 있습니다.

활성 비관리 솔루션 계층에서 명령을 삭제하려면 엔터티 또는 애플리케이션 리본이 포함된 관리되지 않는 솔루션을 내보내고 customizations.xml 파일에서 노드를 편집 <RibbonDiffXml> 한 다음 구성 요소를 삭제하기 위해 이 명령이 제거된 이 솔루션의 새 버전을 가져옵니다. 내보내기, 편집 준비 및 리본 가져오기를 참조하세요.

명령은 엔터티별입니다.

예제 시나리오에 따라 엔터티가 연락처 이고 삭제해야 하는 명령이 이 Mscrm.NewRecordFromGridDefaultPublisherCITest라는 게시자의 관리되지 않는 활성 솔루션 계층에 선언되어 있음을 확인했습니다.

  1. 고급 설정을 엽니다.

  2. 설정>솔루션으로 이동합니다.

  3. 새로 만들기를 선택하여 새 솔루션을 만들고 명령 및 활성 솔루션 계층에 대한 명령 검사기의 솔루션 계층 목록에 표시된 값으로 게시자를 설정합니다. (이 예제에서는 DefaultPublisherCITest입니다.)

  4. 엔터티 기존 항목>추가를 선택합니다.

  5. 명령이 정의된 엔터티를 선택하고(이 예제에서는 연락처임) 확인을 선택합니다.

  6. 마침을 선택하기 전에 엔터티 메타데이터 포함모든 자산 추가 옵션을 선택 취소해야 합니다.

  7. 저장을 선택합니다.

  8. 솔루션 내보내기를 선택하고 관리되지 않는 솔루션을 내보냅니다.

  9. .zip 파일을 추출합니다.

  10. customizations.xml 파일을 엽니다.

  11. <Entity> 편집하려는 엔터티 노드의 노드 자식 노드를 찾아 자식 <RibbonDiffXml> 노드를 찾습니다.

  12. 노드를 찾습니다 <CommandDefinition> . (이 예제에서 노드의 <CommandDefinition> ID는 Mscrm.NewRecordFromGrid이므로 다음 노드를 찾습니다.)

    스크린샷은 CommandDefinition 노드의 위치를 보여줍니다.

  13. 노드를 <RibbonDiffXml> 편집하고 삭제하려는 명령의 ID가 있는 특정 <CommandDefinition> 노드를 제거합니다. 존재할 수 있는 다른 <CommandDefinition> 노드를 의도치 않게 삭제하지 않도록 합니다. (예제에 따라 ID가 인 노드를 <CommandDefinition> 삭제합니다 Mscrm.NewRecordFromGrid.)

    CommandDefinition 노드를 삭제하는 스크린샷

  14. customizations.xml 파일을 저장합니다.

  15. 수정된 customizations.xml 파일을 솔루션 .zip 파일에 다시 추가합니다.

  16. 솔루션 파일을 가져옵니다.

  17. 모든 사용자 지정 게시를 선택합니다.

명령은 애플리케이션 리본에 있습니다("모든 엔터티"에 적용됨).

명령이 엔터티별이 아니고 애플리케이션 리본에 선언된 "모든 엔터티"에 적용할 수 있는 경우 단계는 다음과 같이 약간 다릅니다.

  1. 고급 설정을 엽니다.
  2. 설정>솔루션으로 이동합니다.
  3. 새로 만들기를 선택하여 새 솔루션을 만들고 명령 및 활성 솔루션 계층에 대한 명령 검사기의 솔루션 계층 목록에 표시된 값으로 게시자를 설정합니다.
  4. 클라이언트 확장> 기존애플리케이션 리본추가를> 선택합니다.
  5. 저장을 선택합니다.
  6. 솔루션 내보내기를 선택하고 관리되지 않는 솔루션을 내보냅니다.
  7. .zip 파일을 추출합니다.
  8. customizations.xml 파일을 엽니다.
  9. 루트 <RibbonDiffXml> 노드를 찾습니다.
  10. 노드를 찾습니다 <CommandDefinition> .
  11. 노드를 <RibbonDiffXml> 편집하고 삭제하려는 명령의 ID가 있는 노드를 제거 <CommandDefinition> 합니다. 존재할 수 있는 다른 <CommandDefinitions> 노드를 의도치 않게 삭제하지 않도록 합니다.
  12. customizations.xml 파일을 저장합니다.
  13. 수정된 customizations.xml 파일을 압축된 솔루션 .zip 파일에 다시 추가합니다.
  14. 솔루션 파일을 가져옵니다.
  15. 모든 사용자 지정 게시를 선택합니다.
이 명령은 회사에서 작성한 사용자 지정 관리형 솔루션의 명령입니다.

만든 사용자 지정 관리형 솔루션에서 설치한 명령을 삭제하려면 다음 단계를 수행합니다.

  1. 사용자 지정 솔루션의 관리되지 않는 원본 버전이 있는 별도의 개발 organization 명령의 위에 나열된 단계를 완료합니다. 이 명령은 관리되지 않는 활성 솔루션 옵션에 있습니다.
  2. 사용자 지정 솔루션의 버전을 증분합니다.
  3. 솔루션을 관리되는 솔루션으로 내보냅니다.
  4. 영향을 받는 별도의 organization 사용자 지정 관리형 솔루션의 새 버전을 가져옵니다.
이 명령은 회사에서 작성하지 않은 사용자 지정 관리형 솔루션(타사/ISV)의 명령입니다.

타사/ISV에서 만든 사용자 지정 관리형 솔루션에서 설치한 명령을 삭제하려면 솔루션 작성자에게 문의하고 특정 명령 정의를 제거한 솔루션의 새 버전을 요청한 다음 영향을 받는 organization 이 새 솔루션을 설치해야 합니다.