我试图在CRM 2011
中定义的条件的基础上隐藏/显示来自JavaScript
功能区的按钮。 JavaScript函数返回true/false
。所以我不想将XML更改为Hide/Show
按钮。
我试过这样做,但没有任何运气。谁能建议我正确的方法。
先谢谢
<RibbonDiffXml>
<CustomActions>
<CustomAction Id="Email.Form.email.MainTab.Send.CustomAction" Location="Mscrm.Form.email.Send" Sequence="2">
<CommandUIDefinition>
<Button Id="Mscrm.Form.email.Send" Command="Mscrm.Form.email.Send_Custom" Sequence="1" Alt="$Resources:Ribbon.Form.email.MainTab.Actions.Send" LabelText="$Resources:Ribbon.Form.email.MainTab.Actions.Send" Image16by16="/_imgs/SFA/SendAsEmail_16.png" Image32by32="/_imgs/SFA/SendAsEmail_32.png" TemplateAlias="o1" ToolTipTitle="$Resources:Mscrm_Form_email_MainTab_Actions_Send_ToolTipTitle" ToolTipDescription="$Resources:Mscrm_Form_email_MainTab_Actions_Send_ToolTipDescription" />
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<Templates>
<RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
</Templates>
<CommandDefinitions>
<CommandDefinition Id="Mscrm.Form.email.Send_Custom">
<EnableRules/>
<DisplayRules>
<DisplayRule Id="Mscrm.CanWritePrimary" />
<DisplayRule Id="Mscrm.Form.email.InDraftOrFailedState" />
<DisplayRule Id="Mscrm.Form.email.Send.DisplayRule" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="HideSendEmailButton" Library="$webresource:sandbox_email.js" />
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules />
<DisplayRules>
<DisplayRule Id="Mscrm.Form.email.Send.DisplayRule">
<ValueRule Field="new_type" Value="false" InvertResult="false" />
</DisplayRule>
</DisplayRules>
<EnableRules />
</RuleDefinitions>
<LocLabels />
</RibbonDiffXml>
的Javascript
function HideSendEmailButton() {
// Query for full name of the current user
var userId = Xrm.Page.context.getUserId();
if(userId == '---some Id---')
{
return true;
}
else
{
return false;
}
}
答案 0 :(得分:8)
你真的不能这样做(感谢微软)..你可以使用具有自定义规则选项的启用规则,你可以使用javascript函数:
http://msdn.microsoft.com/en-us/library/gg328073.aspx
但是在dispolsy规则中你没有customrule选项:
http://msdn.microsoft.com/en-us/library/gg334209.aspx
所以有一个例子如何在启用/禁用规则中使用javascript:
http://howto-mscrm.com/2011/04/how-to-series-6-how-to-use-customrule.html