0

既存の機会から潜在的な顧客を開き、名または姓の値を変更すると、その変更は機会エンティティの潜在的な顧客のルックアップにも反映されるため、連絡先エンティティの onsave にスクリプトを記述しました。

function getname()
{
    var lookupValue = new Array();
    lookupValue[0] = new Object();
    lookupValue[0].id = Xrm.Page.data.entity.getId();
    lookupValue[0].name = Xrm.Page.data.entity.attributes.get("firstname").getValue()+" " +Xrm.Page.data.entity.attributes.get("lastname").getValue();
    alert(Xrm.Page.data.entity.attributes.get("firstname").getValue()+" " +Xrm.Page.data.entity.attributes.get("lastname").getValue());
    lookupValue[0].entityType = "Contact";
    window.top.opener.Xrm.Page.data.entity.attributes.get("customerid").setValue(lookupValue);
            window.top.opener.Xrm.Page.data.entity.attributes.get("name").setValue(Xrm.Page.data.entity.attributes.get("firstname").getValue());

}

上記のコードを見ると、親のルックアップの値を設定したことがわかりますが、機能しませんでした。機会のテキストボックスのトピック (名前) の値を変更したので、機能しますが、その理由はわかりませんルックアップで機能しませんでした。

上記のコードを見ると、window.top.opener.Xrm.Page.data.entity.attributes.get("name").setValue(Xrm.Page.data.entity.attributes.get(") という 1 行が見つかります。 firstname").getValue()); これは完全に機能しますが、ルックアップでは機能しませんでした

4

2 に答える 2

2

前文: この種のコードはサポートされていません。

動作させたい場合は、nameプロパティのみを変更する必要がidあります.andは変更entityTypeされないためです(少なくとも説明した動作では)

オープナー内にフィールドがあるかどうかのチェックも追加することをお勧めします。

function getname()
{
if (window.top.opener.Xrm.Page.getAttribute("customerid") != null)
{
    var previous = window.top.opener.Xrm.Page.getAttribute("customerid").getValue();
    previous[0].name = Xrm.Page.getAttribute("firstname").getValue() + " " + Xrm.Page.getAttribute("lastname").getValue();
    window.top.opener.Xrm.Page.getAttribute("customerid").setValue(previous);
}
}
于 2013-04-24T14:53:26.793 に答える
0

ルックアップ オブジェクトには、関連エンティティのプライマリ属性が常に表示されます。それを変更することはできません。そのため、その値を設定しようとしてもうまくいかないことに驚きはありません。それは決してありません。

あなたが達成しようとしていることは何ですか?リンク先のレコードを表さないようにルックアップの表示を変更する必要があるのはなぜですか?

于 2013-04-24T14:04:38.193 に答える