【发布时间】:2012-11-17 16:46:43
【问题描述】:
我在我的 CRM 实体上创建了一组使用启用规则的功能区按钮,以便它们仅在选择视图中的单个记录时才可用,或多或少并且按钮不应再启用。
这确实有效,但在某些情况下它不会达到预期目的。有时我单击视图并选择一个字段,但按钮仍处于禁用状态,或者我单击多个按钮仍处于启用状态。
这只是它们工作方式的一个缺陷,还是我需要添加一些额外的东西来确保它们每次都能正常工作?
谢谢
【问题讨论】:
我在我的 CRM 实体上创建了一组使用启用规则的功能区按钮,以便它们仅在选择视图中的单个记录时才可用,或多或少并且按钮不应再启用。
这确实有效,但在某些情况下它不会达到预期目的。有时我单击视图并选择一个字段,但按钮仍处于禁用状态,或者我单击多个按钮仍处于启用状态。
这只是它们工作方式的一个缺陷,还是我需要添加一些额外的东西来确保它们每次都能正常工作?
谢谢
【问题讨论】:
特定功能区按钮的启用规则应如下所示:
<EnableRules>
<EnableRule Id="crm.Form.contact.MainTab.Collaborate.SendNotif.Command.EnableRule.OrRule">
<OrRule>
<Or>
<FormStateRule State="ReadOnly" />
</Or>
<Or>
<FormStateRule State="Existing" />
</Or>
</OrRule>
</EnableRule>
<EnableRule Id="crm.Form.contact.MainTab.Collaborate.SendNotif.Command.EnableRule.RecordPrivilegeRule">
<RecordPrivilegeRule AppliesTo="PrimaryEntity" PrivilegeType="AppendTo" />
</EnableRule>
<EnableRule Id="crm.HomepageGrid.contact.MainTab.Collaborate.SendNotif.Command.EnableRule.SelectionCountRule">
<SelectionCountRule AppliesTo="SelectedEntity" Maximum="1" Minimum="1" />
</EnableRule>
</EnableRules>
在上面的示例中,主要部分是:
<EnableRule Id="crm.HomepageGrid.contact.MainTab.Collaborate.SendNotif.Command.EnableRule.SelectionCountRule">
<SelectionCountRule AppliesTo="SelectedEntity" Maximum="1" Minimum="1" />
</EnableRule>
如果你使用Visual Ribbon Editor for crm 2011(我推荐)启用规则选项卡应该是这样的:
将您的设置与此示例进行比较。这行得通,经过验证:)
希望对你有帮助
【讨论】:
我已经 8 年了,但有人会发现这很有用:)
尝试将distinct="true" 添加到您的视图 fetchxml
<fetchxml>
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="entity">
<attribute name="attribute" />
</entity>
</fetch>
</fetchxml>
如果您在 SelectionCountRule 中使用 minimum=1 和 maximum=1,那么当记录溢出到另一个页面时,即使您选择了某些记录,您也可能会遇到 SelectionCountRule 为 false 的问题。
【讨论】: