2

次のように定義されたボタンのコマンドがあります。

<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>

インポートしようとするとエラーが発生します (リボン ワークベンチを使用しようとしても同じエラーが発生しました)

リボン アイテム 'new.lead.CreditCheck.Command' は に依存しています。

依存関係を削除しようとしていますが、存在するため削除できないようです。私は何が欠けていますか?

4

2 に答える 2

1

これは CRM のバグだと思いますが、この操作を実行するには、コマンドを削除してからソリューションを公開する必要があります。 コマンドを削除すると、表示ルールを削除できます。ワンステップでこれを行うことはできません!

コマンドが特に複雑な場合は、ソリューションをエクスポートし、コマンドを削除して、ソリューションをインポートし、表示規則を削除して、表示規則なしでコマンドを再度追加してインポートすることができます。

于 2015-05-27T13:25:06.177 に答える
0

ソリューションには、ID「new.lead.CreditCheck.DisplayRule」のCommandDefinitionに依存する があります。に依存する公開済みおよび/または未公開のコンポーネントがある限り、RibbonDiffXml から をDisplayRule削除することはできません。DisplayRuleCommandDefinition

したがって、最初の参照をすべて削除してから、DisplayRuleこれらのカスタマイズを公開する必要があります。DisplayRuleこれが完了したら、それ自体を削除できるはずです。

廃止された属性をエンティティから削除する必要がある場合は、同じ手順に従う必要があります。

  1. すべてのフォーム、ビューなどから属性を削除します。
  2. カスタマイズを公開する
  3. エンティティ モデルから属性を削除します
  4. カスタマイズを公開する

この点で、Dynamics CRM の動作は「設計による」ものです。

于 2015-05-28T14:10:17.017 に答える