Dynamics crm 2011 功能区按钮值规则取决于状态代码值

Dynamics crm 2011 功能区按钮值规则取决于状态代码值,dynamics-crm-2011,dynamics-crm,ribbon,dynamics-crm-2013,Dynamics Crm 2011,Dynamics Crm,Ribbon,Dynamics Crm 2013,我添加了一个新的自定义按钮来引用表单功能区。仅当statecode处于活动状态()时,才应显示此按钮 我创建了以下命令定义: <CommandDefinition Id="mySolution.quote.Form.MyButton.Command"> <EnableRules /> <DisplayRules> <DisplayRule Id="mySolution.QuoteIsActive" /> &l

我添加了一个新的自定义按钮来引用表单功能区。仅当statecode处于活动状态()时,才应显示此按钮

我创建了以下命令定义:

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

,同样的结果


根据statecode定义规则的技巧是什么?还是我遗漏了什么?

我想你这里的问题是你的启用规则是空的。 然而,你是用手做的吗?
如果是这样,这个工具将为您完成几乎所有的工作。

我认为您的问题是Statecode应该是0,而不是1。对statecode和statecodename执行sql查询(使用FilteredView)。

尝试使用状态文本值(“打开”、“草稿”、“活动”等),而不是数字值。我有一个类似的情况,有身份原因。希望这会有帮助

只需添加简单的.js脚本即可更新功能区。功能区仅在页面加载时更新。这就是为什么你的按钮总是看不见。下面是代码示例:

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

然后添加web资源并将其附加到按钮单击。简单

我找不到任何东西来验证这一点,但命令栏中的显示规则似乎有问题。我很幸运地使用了enable规则,这些规则的行为实际上就像您希望在命令栏中显示规则一样。换句话说,如果命令栏中的某个按钮被禁用,则不会显示该按钮。您可以在中阅读。

I这不是问题所在。如果删除显示规则,则会出现按钮。我正在手工修改。我们在使用功能区编辑器方面的经验不好。如果您有一个测试机构,我建议您使用该工具进行测试,并查看Fetch.xml的外观。您找到解决此问题的方法了吗?我面临一个类似的问题,我注意到有一个OptionSetRule(),但它被标记为仅供内部使用。
function refreshRibbonOnChange()
{
   Xrm.Page.ui.refreshRibbon();
}