2

CRM 2011 では、アカウントの下に接続を追加する機能があります。[接続の追加] をクリックすると、デフォルトで「連絡先」に設定されている名前を参照/検索できます。選択ボックスを切り替えることなく、デフォルトで「連絡先」を「アカウント」に切り替える方法はありますか?

4

3 に答える 3

1

どうやらこれをやっているようです:

document.getElementById("record2id").setAttribute("defaulttype", "1");

しかし、私は少し検索を行い、これは接続のダイアログでは機能しません。この代替案を確認してください。

于 2013-02-27T22:53:30.277 に答える
0

これは接続では機能しません。

接続では、ルックアップのオブジェクト タイプ コードは、Microsoft Dynamics CRM\CRMWeb_static\entities\connection.js の Mscrm.Connection.preSelectObjectType 関数で設定されます。

のような行があります。

$v_2.set_defaultType($v_3);

オブジェクトの種類を設定します。$v_3 は、選択したロールに応じて設定されます。

したがって、次のように変更する必要があります

$v_2.set_defaultType(Mscrm.EntityTypeCode.Account.toString());

ただし、ロール ベースのルックアップ構成は失われるため、変更することをお勧めします。さらに、これはサポートされていないため、connection.js を変更する新しいロールアップをインストールするときは、更新動作を考慮する必要があります (つまり、更新されたシステムから新しい connection.js ファイルを手動でコピーし、再度カスタマイズします)。

于 2013-09-18T16:08:10.483 に答える
0

ここに 2 つのアプローチがあります。どちらも機能しますが、最初の例では、空であってもタイプ レコード アイコンがルックアップ フィールドに追加されます。2 番目はそれを行いませんが、内部メソッド名に依存するため、少し危険です。

1番目の方法:

if (IsNull(Xrm.Page.getAttribute('record2id').getValue())) {$("#record2id")[0].DataValue = [{ "type": scrm.EntityTypeCode.SystemUser.toString() }];}

2番目の方法

document.original_preSelectObjectType = Mscrm.Connection.preSelectObjectType;
Mscrm.Connection.preSelectObjectType = function (roleLookup, peerRoleLookup) {
   if (IsNull(roleLookup.DataValue) && IsNull(peerRoleLookup.DataValue) && !window.event.srcElement.DataValue) {
       var $v_0 = window.event.srcElement;
       $v_0.defaulttype = Mscrm.EntityTypeCode.SystemUser.toString();
       $v_0.DefaultViewId = "";
       $v_0.Lookup(true, false, null, false);
   }
   else { 
       document.original_preSelectObjectType(roleLookup, peerRoleLookup); }}

于 2013-11-30T00:59:04.537 に答える