0

非アクティブ化すると、プラグインでレコードを自動的に削除したいというレコードがあります。したがって、コードを SetStateDynamically イベントに設定すると、サービスが実際にレコードを削除するところまですべてが機能し、「予期しないエラーが発生しました」というメッセージが表示されます。

私のコードは以下のとおりです。誰でも問題が何であるかを見ることができますか、それとも正しい方向に私を向けることができますか?

ありがとう

private void MarkForDeleteDeactivatedRole(EntityReference entity)
    {
        Entity role = Service.Retrieve("sb_contactsecurityrole", entity.Id, new ColumnSet(true));

        OptionSetValue statusValue = (OptionSetValue)role["statecode"];

        if (statusValue.Value == 1)
        {                
            Service.Delete(entity.LogicalName, entity.Id);
        }
    }
4

1 に答える 1

1

私は同じことを見てきました。CRM イベント パイプラインは、そのオブジェクトの処理中にレコードが削除されることをサポートしているとは思いません。おそらく実行できる最善の方法は、プラグインを非同期で登録することです。そのため、エラー (CRM イベント パイプラインの内部にあるため、キャッチできません) は UI にバブルしません (そして、あなたは取引外です)。

于 2012-11-14T18:08:32.250 に答える