2016-10-05 54 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); 
      } 
     }