1

我們剛剛升級了動態CRM實例之一,從CRM在線2015年CRM在線2016年問題在一些JavaScript的升級到Dynamics CRM Online中後2016

雖然我可以看到正常工作的功能的其餘部分,有在特定情況下的主要顯示塞了我們:

以下是一個Java腳本函數的代碼被加載頁面過程稱爲:

function SetDefaultValuesInLookup() 
{ 
    Xrm.Page.getAttribute("new_applicationcontactid").setValue([{ id: 
records.new_Contact.Id, name: records.new_Contact.Name, entityType: records.new_Contact.LogicalName }]); 

    ........ 

    Xrm.Page.getAttribute("new_applicationtype").setValue(1000002); 
} 

function ShowHideFields() 
{ 
    var applicationtype = Xrm.Page.getAttribute("new_applicationtype").getValue(); 

    ............... 

} 

總結SetDefaultValuesInLookup功能設置一個值的廁所kup字段中的「Application Contact Id」,並根據某些條件設置「new_applicationtype」。

這兩個函數都是以表單加載的形式註冊才能按順序執行。然而,問題在於 - 有時,方法SetDefaultValuesInLookup在執行第一個getAttribute值後突然終止,或者如果該方法完成其執行,那麼我們不會在new_applicationtype字段中獲取值。或者有時候,這兩種方法都能正常工作。

我試着調試代碼,並且可以看到我們正在獲取Id,Name和LogicalName屬性每次都得到填充,所以在該級別沒有問題。

我想知道是否有什麼東西在CRM 2016中不受支持? 另外此功能還完美地工作在2015年在線

+1

你有什麼記錄到控制檯?錯誤可能是?通常情況下,「事物」似乎有時會正常工作,因爲錯誤通常是由數據引起的(意味着代碼不檢查空值)等。 – dynamicallyCRM

+0

聽起來像是一種競爭條件。你是如何通過菜單或代碼註冊你的onload函數的?如果後者是真的,你可以在這裏分享這個代碼嗎?另外,您是否在其他瀏覽器(Chrome,Firefox)中獲得了相同的不可預知的結果? –

回答

1

嘗試用下面給出的代碼,它爲我工作

var object = new Array(); 
 
\t \t object[0] = new Object(); 
 
\t \t object[0].id = records.new_Contact.Id; 
 
\t \t object[0].name = records.new_Contact.Name; 
 
\t \t object[0].entityType = records.new_Contact.LogicalName; 
 
\t \t Xrm.Page.getAttribute(fieldName).setValue(object);

相關問題