質問

事前検証用に登録されたプラグインはデータベーストランザクション以外で実行されることを理解していますが、これが事前操作よりも好ましいときにシナリオを考えることができるかどうかはわかりません。誰かが私に、前検証登録が役立つ可能性のある場所の例を教えてもらえますか?

役に立ちましたか?

解決

「Prevalidation」イベントに登録されているいくつかのプラグインがありますが、これはオンラインではなく前提にあります。

私はこれらの特定のプラグインを自分で書いていませんでしたが、それを説明し、「事前術」ではなく「普及」を使用する正当性を与えることができます。

エンティティ:アカウント

イベント:削除

ロジック:プラグインは事前検証を実行します。アカウントのアドレスのいずれかを参照する連絡先がないことを確認します。ある場合は、実行を停止します。そうでない場合は、アカウントを削除します。

例えば

アカウント「Stackoverflow」には、「ジェフアトウッドの家」と「Glosrob」に連絡するアドレスがあります。 「Glosrob」は、カスタマイズを通じて「ジェフ・アトウッドの家」を参照しています。ユーザーが「stackoverflow」を削除するように選択した場合、「Glosrob」がアドレスを参照し、削除を防ぐ「Glosrob」を検出する必要があります。

この背後にある理由は、開発者が事前操作段階で、削除のいくつかの側面がすでに発生していること、つまりカスケード削除が発生していることを発見したことです。プラグインのロジックでは、すべての連絡先をチェックする必要があります - 事前術で登録することにより、アカウントの下の連絡先はすでに削除されており、小切手が時代遅れになっています。

以前のシナリオでは、ユーザーが「stackoverflow」アカウントを削除するために選択したときに、プラグインが実行される前に「Glosrob」の連絡先が削除されます。したがって、プラグインがその後実行された場合、削除が可能になります。

CRMのほとんどのものと同様に、それはすべて要件とソリューションに帰着しますが、それはあなたがなぜあなたが有効な段階を使用するのか、いつ使用するかもしれないかをあなたにアイデアを与えると思います。 「削除」イベントで実行される同様の推論を持つ他のいくつかの人がいます。

他のヒント

私はその非常に古い投稿を知っており、同じ質問の答えを掘りながらここに来ました...後で同じトピックでMSDNから1つの重要なポイントを見つけました。 。

Prevalidationプラグインは、セキュリティチェックの前に発生します。 Ex:アカウントが「VIP」アカウントであり、このアカウントレコードを削除したくない場合(スーパーユーザー/管理者でも)、これは事前検証でより良いことです。当時、あなたはユーザーが誰であるか、どのような権限を持っているのか(システム内のレコードを削除する許可がない場合でも)、CRMがユーザーのセキュリティの役割をデータベースに確認して確認しているため事前操作中、そしてそれが最初のデータベースヒットが起こる場所です。

私はそれが理にかなっていることを願っています...

ありがとうございました

よろしくスリカンス

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top