2016-10-05 55 views
0

我試圖從實體導航的HTML Web資源中打開實體的「快速創建」表單。我正在使用Xrm.Utility.openQuickCreate(「entityname」,null,null)作爲開始。從HTML網絡資源使用Xrm.Utility.openQuickCreate()問題

我得到一個錯誤,說JQueryApi沒有在瀏覽器的控制檯中定義。

但是,像Xrm.Utility.openEntityForm和Xrm.Utility.isActivityType(entityname)等其他函數確實有效。

有什麼建議嗎?謝謝。

+0

但是,使用實體表單可以很好地工作。 – priyeshwagh777

回答

1

嘗試達到成父窗體調用的方法:parent.Xrm.openQuickCreate("entityname", null, null)

+0

是的,這可能會起作用。我還沒有嘗試過。我實際上不想使用父母,因爲它不受支持。 – priyeshwagh777

+0

絕對支持通過父級從Web資源到達Xrm API(除非他們最近更改了指導)。如果您試圖達到父級,然後修改DOM或訪問API的未公開部分,則這將不受支持。 – Polshgiant

0

@Polshgiant - 謝謝你!我有這個確切的問題,即使我正確地引用了父實體ID,我沒有做同樣的openQuickCreate調用。我只希望我在10個小時前找到了這個答案。這是我的完整代碼,以防萬一需要它(或者可以提供如何改進它的建議):

function YOURFUNCTIONNAME() { 
      var parentContact = { 
       entityType: "contact", 
       id: window.parent.Xrm.Page.data.entity.getId().substring(1, 37) 
      }; 

      // You can set parameters here to pre-fill the form; I haven't 
      var parameters = { 

      }; 

      parent.Xrm.Utility.openQuickCreate("YOURLOGICALENTITYNAME", parentContact, parameters) 
       .then(function(lookup) { successCallback(lookup); }, function(error) { errorCallback(error); }); 

      function successCallback(lookup) { 
       alert("lookup: " + lookup.savedEntityReference.id); 
       alert("lookup: " + lookup.savedEntityReference.name); 
      } 

      function errorCallback(e) { 
       alert("Error: " + e.errorCode + " " + e.message); 
      } 
     }