3

양식 리본을 인용 할 수있는 새로운 사용자 정의 버튼이 추가되었습니다. 이 버튼은 상태 코드가 활성화 된 경우에만 표시되어야합니다 (Value: 1).상태 코드 값에 따른 리본 버튼 값 규칙

<CommandDefinition Id="mySolution.quote.Form.MyButton.Command"> 
    <EnableRules /> 
    <DisplayRules> 
     <DisplayRule Id="mySolution.QuoteIsActive" /> 
    </DisplayRules> 
    <Actions> 
     <JavaScriptFunction FunctionName="myFunction" Library="$webresource:new_myLibrary" /> 
    </Actions> 
</CommandDefinition> 

그리고 다음 DisplayRule :

나는 다음 CommandDefinition 만들어

<DisplayRule Id="mySolution.QuoteIsActive"> 
    <ValueRule Field="statecode" Value="1" Default="true" /> 
</DisplayRule> 

을하지만이 DisplayRule를 사용하는 경우 내 버튼이 표시되지 않습니다. CommandDefinition에서 규칙을 제거하면 단추가 항상 표시됩니다.

는 또한

이 statecode에 따라 규칙을 정의 할 수있는 트릭 무엇입니까.이 post의 하단에 표시 같은 결과 (값으로 '활성'사용하려고? 아니면 내가 뭔가를 놓친 건가 ?

+0

이 문제의 해결책을 찾으셨습니까? 비슷한 문제가있어서 OptionSetRule (https://msdn.microsoft.com/en-us/library/dn481584.aspx)이 있음을 알았지 만 내부 용으로 만 표시되었습니다. –

답변

0

나는 여기에 문제가 EnableRules가 비어 있는지 생각합니다. 그러나이 경우 손으로 수정? 이 use CRM 2011 Visual Ribbon Editor는,이 도구는 당신을 위해 거의 모든 일을 할 것이라고하고있다.

+0

나는 이것이 문제가되지 않는다. 표시 규칙을 제거하면 버튼이 나타납니다. 그리고 나는 그 수정을 손으로하고있다. 우리는 리본 편집자를 사용하여 나쁜 경험을했습니다. – Marvin

+0

테스트 조직이있는 경우 툴을 사용하여 Fetch.xml이 어떻게 보이는지 확인할 것을 권장합니다. – Jorge

0

귀하의 문제는 Statecode가 0이 아니라 1이어야한다는 것입니다. statecode 및 statecodename (FilteredView 사용)에서 sql 쿼리를 수행하십시오.

3

번호 값 대신에 ("열기", "임시", "활성"등) 상태 을 사용해보십시오. 나는 Status Reasons와 비슷한 경우를 가지고있다. 희망이 도움이 될 것입니다!

+0

이것은 나를 위해 일했습니다. 감사합니다. –

0

리본을 업데이트하기위한 간단한 .js 스크립트를 추가하기 만하면됩니다. 리본은 페이지로드시에만 업데이트됩니다. 그 이유는 버튼이 항상 보이지 않게 된 이유입니다. 다음은 코드 샘플입니다.

function refreshRibbonOnChange() 
{ 
    Xrm.Page.ui.refreshRibbon(); 
} 

그런 다음 웹 리소스를 추가하고 버튼 클릭에 첨부하십시오. 단순한!

1

확인하려면 아무 것도 찾을 수 없지만 표시 규칙에 명령 모음에 문제가있는 것 같습니다. 사용 규칙을 사용하면 더 나은 행운을 얻었고 디스플레이 규칙이 명령 줄에서 작동 할 것으로 기대하는 것처럼 행동합니다. 즉, 명령 모음의 단추가 비활성화되어 있으면 표시되지 않습니다. 당신은 MSDN documentation에서 그것에 대해 읽을 수 있습니다.