2013-02-12 32 views
1

我有一個名爲客戶網站的實體,我從中存儲網站信息。從這個網站我創建設備(另一個自定義實體)。我已經爲我的客戶網站實體中的地址實體創建了相關的地址字段,並且我試圖(基於某個帳戶)填寫我的網站字段與該帳戶中選定地址的字段。查找客戶關係管理2011中的自定義實體的地址字段

我提到這篇文章這樣做,http://xrmexpertz.com/2012/01/24/lookup-address-for-custom-entities-in-crm-2011/

我已經改變了提供的鏈接,以反映我的實體和我的網絡資源的JavaScript和XML。

我的問題是,當我點擊應該執行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> 
+0

什麼是所謂的kez_GetLocation的WebResource 7號線? – glosrob 2013-02-12 17:21:06

+0

是* kez_GetLocation *一些JS導致問題在這裏? – 2013-02-12 17:37:16

+0

我發現了這個問題,但目前我無法回答自己的問題。要回答第一條評論,第7行會拋出一個錯誤,因爲我提供的鏈接中使用的引號不能被CRM識別,所以我只是刪除並重讀了它們,並修復了該錯誤。 – Aaron 2013-02-12 19:01:31

回答

0

我最終解決這個問題,一個我所列出的源使用不是由CRM認識的報價。接下來,我不得不使用XRM.getAttribute而不是getFieldValue。

最後,工作代碼如下:

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); 

} 
相關問題