Jscript无法获得财产' $ o_3'未定义或空参考CRM 2015

时间:2015-08-12 16:12:44

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 jscript

function preFilterLookup() 
{    

   1: Xrm.Page.getControl("customerid").addPreSearch(addLookupFilter);

    document.getElementById("customerid").setAttribute("defaulttype","2");
    Xrm.Page.getControl("customerid").setDefaultView("00000000-0000-0000-00AA-000010001004");
}

function addLookupFilter() 
{
    document.getElementById("customerid").setAttribute("lookuptypenames", "contact:2:Contact");
    document.getElementById("customerid").setAttribute("lookuptypes", "2");
}

收到错误:无法获得财产' $ o_3'未定义或空引用的所有项目都有正确的ID尝试了下面代码的多种变体,但没有一个会起作用。它似乎源于第一行,我可以禁用代码,但它让我疯狂,我无法弄明白,任何帮助非常感谢。

2 个答案:

答案 0 :(得分:1)

看起来升级到UR1时引入了错误。 下面的代码给出了完全相同的错误。但是只有关闭了新的(turbo)表单...在Form的OnLoad中我调用test_onLoad函数。

function test_onLoad() {
  var control = Xrm.Page.getControl("new_accountid").addPreSearch(function () {
    addLookupFilter();
  });
}

function addLookupFilter() 
{
  alert('Hallo');
}

答案 1 :(得分:0)

preFilterLookup中的最后一行似乎表明您正在尝试默认查找视图。 (也是Guido是对的,使用document.getElementById不受支持)

如果您尝试向查找添加自定义视图并将其设置为默认视图,则可以使用

Xrm.Page.ui.controls.get("[tablename]").addCustomView(viewID, "[tablename]", "[viewname]", "[fetchXMLString]", "[TSAlayoutXMLstring]", true);