다음을 통해 공유


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

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

단추가 숨겨진 이유 확인

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

Warning

  • EntityPrivilegeRule 형식의 표시 규칙이 다음 중 하나의 PrivilegeType 값(만들기, 쓰기, 삭제, 할당, 공유) 중 하나이면 엔터티에 모바일에서 읽기 전용 옵션이 활성화되어 엔터티가 읽기 권한만 허용하도록 강제하는 경우 false로 평가됩니다. 모바일 플래그의 읽기 전용이 엔터티에서 사용하도록 설정된 경우 false로 평가되는 가장 일반적인 기본 시스템 규칙의 예는 다음과 같지만 이 목록(Mscrm.CreateSelectedEntityPermission, ,, Mscrm.CanSavePrimaryMscrm.CanWritePrimary, Mscrm.CanWriteSelected, Mscrm.WritePrimaryEntityPermissionMscrm.WriteSelectedEntityPermission, Mscrm.DeleteSelectedEntityPermissionMscrm.CanDeletePrimaryMscrm.ShareSelectedEntityPermissionMscrm.DeletePrimaryEntityPermissionMscrm.SharePrimaryPermissionMscrm.AssignSelectedEntityPermission)으로만 제한되지는 않습니다. 엔터티를 편집하고 모바일에서 읽기 전용 옵션의 선택을 취소하여 규칙에 의해 테스트되는 권한도 사용자에게 부여된 경우 이러한 규칙이 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. 이제 솔루션 계층을 검토하고 사용자 지정을 설치한 솔루션을 확인했으므로 적절한 솔루션에서 정의를 수정해야 합니다.

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

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

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

이 명령은 엔터티 관련 명령입니다.

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

  1. 고급 설정을 엽니다.

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

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

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

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

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

  7. 저장을 선택합니다.

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

  9. 파일의 압축을 풉니다.

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

  11. <Entity> 편집할 엔터티 노드의 노드 자식 노드를 찾아 해당 자식 <RibbonDiffXml> 노드를 찾습니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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