我有一个按钮的命令,定义如下:
<CommandDefinition Id="new.lead.CreditCheck.Command">
<EnableRules>
<EnableRule Id="new.lead.CreditCheck.EnableRule" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="new.lead.CreditCheck.DisplayRule" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="new.LeadDynamic.creditCheck" Library="$webresource:new_Lead_dyn.js" />
</Actions>
</CommandDefinition>
如果我从命令中删除显示规则,(但保留实际的显示规则定义),它看起来像这样:
<CommandDefinition Id="new.lead.CreditCheck.Command">
<EnableRules>
<EnableRule Id="new.lead.CreditCheck.EnableRule" />
</EnableRules>
<DisplayRules />
<Actions>
<JavaScriptFunction FunctionName="new.LeadDynamic.creditCheck" Library="$webresource:new_Lead_dyn.js" />
</Actions>
</CommandDefinition>
尝试导入时出错(尝试使用Ribbon Workbench并同样出错)
功能区项'new.lead.CreditCheck.Command'依赖于
我正在尝试删除依赖项,但显然我无法删除它,因为它存在!我错过了什么?
答案 0 :(得分:1)
我认为这是CRM中的一个错误,但为了执行此操作,您必须删除该命令,然后发布解决方案!删除该命令后,您可以删除该命令显示规则。你不能一步到位!
如果您的命令特别复杂,您可以导出解决方案,删除命令,导入解决方案,删除显示规则并添加不带显示规则和导入的命令。
答案 1 :(得分:0)
您的解决方案的CommandDefinition
取决于具有ID“new.lead.CreditCheck.DisplayRule”的DisplayRule
。只要有已发布和/或未发布的组件,就不能从RibbonDiffXml中删除DisplayRule
,在这种情况下为CommandDefinition
。
因此,您需要先删除对DisplayRule
的所有引用,然后发布这些自定义项。完成此操作后,您应该能够删除DisplayRule
本身。
当您需要从实体中删除过时的属性时,必须遵循相同的过程:
在这方面,Dynamics CRM的行为是i.m.o. '按设计'。