1

アクティビティ タイプのカスタム エンティティを使用して独自のソリューションを作成しました。既存の連絡先を使用してその新しいインスタンスが作成されるたびにメッセージを表示したいのですが、contact を経由せずにそれを行おうとすると、ユーザーが作成することはできません。

基本的に、私の目的は、そのアクティビティを作成することだけが不可能ではないことです (フォームは、一方向のみを除いて、どのような試行でも直接非表示になります)。ユーザーは連絡先 (または見込み客など) に移動し、そこでカスタム アクティビティ エンティティのインスタンスを追加して作成する必要があります。そうすれば、「に関して」フィールドがすでに記入されていることを保証できます。

フォームを開くことが作成の試みであることを何らかの形で検出する必要があると思います。どうやってやるの?

また、現在のところ、ユーザーはカスタム タイプの非接触型アクティビティを作成できません。これは、他のアクティビティと共にメニューに表示されないためです。何らかの方法で無効にしたに違いありませんが、方法がわかりません。持ってる人いますか?

4

3 に答える 3

2

これにはさまざまな方法がありますが、おそらく最も簡単なのは次の方法です。

  • 関連フィールドを読み取り専用にします。
  • 関連フィールドを必須にします。

そうすれば、ユーザーが新規作成フォームを開いた場合、関連を設定できず、必須であるため、レコードを保存できません。それらが既存の連絡先を介して開くと、関連フィールドが自動的にマップされます。つまり、この場合、必須にするだけで十分です。

(サイド JavaScript を使用して現在のフォームの状態を識別することができますが、それがここでどれほど役立つかはわかりません)。

カスタム アクティビティが表示される場所に関しては、デフォルトでマイニング ショーがいくつかの場所に表示されます。次に例を示します。

  • CRM > 職場 > 活動 > リボン > その他の活動 > XXX.
  • CRM > 職場 > 活動 > ビュー セレクター > XXX。

これらは「アクティビティ」の下にグループ化されているため、職場の左側のナビゲーションの下には表示されません。これらはすべてデフォルト設定であると確信しています。

サイトマップを編集することで、より細かく制御できます。ここには、ほとんど何でも、どこにでも配置できます。

于 2012-10-08T22:55:23.400 に答える
0

あなたの質問の2番目の部分に答える:

カスタム アクティビティを作成する場合、エンティティ フォームの右上にあるボックスをチェックして、「通常の」アクティビティ メニューに表示するかどうかを選択できます。これは私が知る限り一度だけの選択であり、後で変更することはできません.

あなたのセットアップでは、このチェックボックスをオンにしないことをお勧めします。これにより、ユーザーがそのように誘惑されるのを避けるために、アクティビティ メニューに表示されません。

代わりに、アクティビティに N:1 の明示的な関係を Contact に追加し、別の N:1 を Lead に追加します。この関係を使用して、連絡先フォームとリード フォームの左側のナビゲーションにアクティビティを追加するか、それらのグリッドを追加します (これをどのように使用するか、およびビューを既定の "関連付けられたビュー" 以外にフィルターする必要があるかどうかによって異なります)。 )。

ユーザーがこのセクションに移動すると、このタイプの以前のアクティビティが存在するかどうかが表示され、新しいアクティビティを追加できます。ただし、これは、子レコードが「関連」を使用するのではなく、この関係を介して子であることを意味するため、アクティビティのフォームでスクリプトを使用して、連絡先が入力されている場合は関連にコピーされ、リードが入力されている場合それがコピーされます。どちらでもない場合は、アラートまたはその他の手段を使用して、何かが間違っていることを使用者に警告します (前のコメントを参照)。関連を読み取り専用にするがスクリプトで入力したい場合は、強制的に値を保存する必要があります。

Xrm.Page.getAttribute("regardingobjectid").setSubmitMode("always");

スクリプトで使用できるようにするには、フォームに Contact と Lead のルックアップが必要ですが、それらを「デフォルトで表示」しないようにして、そこにあるがユーザーには表示されないようにすることができます (スペースを占有しません)。 .

于 2012-10-09T10:44:34.507 に答える