1

私は、サイト情報を保存する顧客サイトと呼ばれるエンティティを持っています。このサイトから、デバイス (別のカスタム エンティティ) を作成します。顧客サイト エンティティのアドレス エンティティに関連するアドレス フィールドを作成しました。(アカウントに基づいて) アカウントから選択したアドレスのフィールドをサイト フィールドに入力しようとしています。

そのためにこの記事を参照しましたhttp://xrmexpertz.com/2012/01/24/lookup-address-for-custom-entities-in-crm-2011/

リンクで提供されている JavaScript と xml を変更して、エンティティと Web リソースを反映させました。

私の問題は、JavaScript を実行する必要があるボタンをクリックしても何も起こらず、アカウントなしでサイトを保存しようとするとエラーが表示されることです。

これは私のJavaスクリプトです。

function CustomLookup() {
'use strict';
var aoItems = getFieldValue("kez_SiteInfo_AccountId");

if (aoItems == null) {

    alert(“Account is not Selected”);

    return;

}

var _object = openStdDlg(“ / sfa / quotes / dlg_lookupaddress.aspx ? headerForm = 1 & parentType = 1 & parentId = ” + aoItems[0].id + “ & willCall = 0″, “LookupAddress”, 500, 330, true);

if (object) {

    setFieldValue(“kez_address1_name”, object.Address.Name);

    setFieldValue(“kez_address1_line1″, object.Address.Line1);

    setFieldValue(“kez_address1_line2″, object.Address.Line2);

    setFieldValue(“kez_address1_line3″, object.Address.Line3);

    setFieldValue(“kez_address1_city”, object.Address.City);

    setFieldValue(“kez_address1_province”, object.Address.StateOrProvince);

    setFieldValue(“kez_address1_postalcode”, object.Address.PostalCode);

    setFieldValue(“kez_address1_country”, object.Address.Country);

}

}

function setFieldValue(fieldName, fieldValue) {

Xrm.Page.getAttribute(fieldName).setValue(fieldValue);

}

これはエラーです

Microsoft Dynamics CRM Error Report Contents

<CrmScriptErrorReport>
  <ReportVersion>1.0</ReportVersion>
  <ScriptErrorDetails>
   <Message>Uncaught SyntaxError: Unexpected token ILLEGAL</Message>
   <Line>7</Line>
   <URL>/%7B634962800260003236%7D/WebResources/kez_GetLocation</URL>
   <PageURL>/userdefined/edit.aspx?_gridType=10018&etc=10018&id=%7b1F8E02F0-766C-E211-934E-   00155D018211%7d&pagemode=iframe&preloadcache=1360684076423&rskey=69426415</PageURL>
   <Function></Function>
   <CallStack>
   </CallStack>
  </ScriptErrorDetails>
  <ClientInformation>
   <BrowserUserAgent>Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.30 (KHTML, like Gecko)       Chrome/26.0.1403.0 Safari/537.30</BrowserUserAgent>
   <BrowserLanguage>undefined</BrowserLanguage>
   <SystemLanguage>undefined</SystemLanguage>
   <UserLanguage>undefined</UserLanguage>
   <ScreenResolution>1366x768</ScreenResolution>
   <ClientName>Web</ClientName>
   <ClientTime>2013-02-12T10:47:58</ClientTime>
  </ClientInformation>
  <ServerInformation>
    <OrgLanguage>1033</OrgLanguage>
    <OrgCulture>1033</OrgCulture>
    <UserLanguage>1033</UserLanguage>
    <UserCulture>1033</UserCulture>
    <OrgID>{BC278BC1-EEEA-4D24-B5C6-F0720B343A1F}</OrgID>
    <UserID>{D76EEA89-D760-E211-921F-00155D018211}</UserID>
    <CRMVersion>5.0.9690.3236</CRMVersion>
  </ServerInformation>
</CrmScriptErrorReport>
4

1 に答える 1

0

私がリストしたソースの1つは、CRMで認識されない引用符を使用しているため、問題を解決することになりました。次に、getFieldValueの代わりにXRM.getAttributeを使用する必要がありました。

最終的な動作するコードは次のとおりです。

function CustomLookup() {
'use strict';
var aoItems = Xrm.Page.getAttribute('kez_siteinfo_accountid').getValue();
if (aoItems == null) {

    alert("Account is not Selected");

    return;

}

var _object = openStdDlg("/sfa/quotes/dlg_lookupaddress.aspx?headerForm=1&parentType=1&parentId=" + aoItems[0].id + "&willCall=0", "LookupAddress", 500, 330, true);

    if (object) {

    setFieldValue("kez_address1_name", object.Address.Name);

    setFieldValue("kez_address1_line1", object.Address.Line1);

    setFieldValue("kez_address1_line2", object.Address.Line2);

    setFieldValue("kez_address1_line3", object.Address.Line3);

        setFieldValue("kez_address1_city", object.Address.City);

        setFieldValue("kez_address1_province", object.Address.StateOrProvince);

        setFieldValue("kez_address1_postalcode", object.Address.PostalCode);

        setFieldValue("kez_address1_country", object.Address.Country);

    }

}

function setFieldValue(fieldName, fieldValue) {

    Xrm.Page.getAttribute(fieldName).setValue(fieldValue);

}
于 2013-02-13T16:07:11.453 に答える