Dynamics crm 过滤子网格-createCallbackFunctionObject引发indescript错误
我正在尝试使用以下代码创建已过滤的N:N子网格: 这是一个Dynamics 365联机实例,如果有帮助的话。不过,我面临的问题很奇怪,因为会出现查找窗口,进行完美过滤,并允许我选择项目。但当我单击“添加”时,我会收到一条一般性错误消息 据我所知,代码中的一切都很好,但我不清楚应该如何继续调试。我最初的想法是可以在Dynamics crm 过滤子网格-createCallbackFunctionObject引发indescript错误,dynamics-crm,filtering,subgrid,dynamics-crm-365,Dynamics Crm,Filtering,Subgrid,Dynamics Crm 365,我正在尝试使用以下代码创建已过滤的N:N子网格: 这是一个Dynamics 365联机实例,如果有帮助的话。不过,我面临的问题很奇怪,因为会出现查找窗口,进行完美过滤,并允许我选择项目。但当我单击“添加”时,我会收到一条一般性错误消息 据我所知,代码中的一切都很好,但我不清楚应该如何继续调试。我最初的想法是可以在crmWindow.Mscrm.Utilities.createCallbackFunctionObject函数中开始调试,但我不清楚如何在联机环境中调试global.ashx文件中的该
crmWindow.Mscrm.Utilities.createCallbackFunctionObject
函数中开始调试,但我不清楚如何在联机环境中调试global.ashx
文件中的该函数。我的想法是,在那里,我可能会得到一个错误,我可以使用
有什么想法吗
//filters an add existing lookup view (N:N)
function addExistingFromSubGridCustom(gridTypeCode, gridControl, crmWindow, fetch, layout, viewName) {
var viewId = {DB2C6D94-48F2-E711-A2B6-00155D045E00}; // a dummy view ID
var relName = gridControl.GetParameter(relName);
var roleOrd = gridControl.GetParameter(roleOrd);
//creates the custom view object
var customView = {
fetchXml: fetch,
id: viewId,
layoutXml: layout,
name: viewName,
recordType: gridTypeCode,
Type: 0
};
var parentObj = crmWindow.GetParentObject(null, 0);
var parameters = [gridTypeCode, , relName, roleOrd, parentObj];
var callbackRef = crmWindow.Mscrm.Utilities.createCallbackFunctionObject(locAssocObjAction, crmWindow, parameters, false);
crmWindow.LookupObjectsWithCallback(callbackRef, null, multi, gridTypeCode, 0, null, , null, null, null, null, null, null, viewId, [customView]);
}
function filterAddExistingContact(gridTypeCode, gridControl, primaryEntity) {
debugger;
var crmWindow = Xrm.Internal.isTurboForm() ? parent.window : window;
var lookup = new Array();
lookup = Xrm.Page.getAttribute(new_channel).getValue();
if (lookup != null) {
var name = lookup[0].name;
var id = lookup[0].id;
var entityType = lookup[0].entityType;
}
else
{
crmWindow.Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode, gridControl); //default button click function
return;
}
if (primaryEntity != nxt_callreport) {
crmWindow.Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode, gridControl); //default button click function
return;
//Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode, gridControl); //default button click function
//return;
}
//fetch to retrieve filtered data
var fetch = <fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"> +
<entity name="new_market"> +
<attribute name="new_marketid" /> +
<attribute name="new_name" /> +
<attribute name="createdon" /> +
<order attribute="new_name" descending="false" /> +
<filter type="and"> +
<condition attribute="new_channel" operator="eq" uiname=" + name + " uitype=" + entityType + " value=" + id + " /> +
</filter> +
</entity> +
</fetch>;
//columns to display in the custom view (make sure to include these in the fetch query)
var layout = <grid name="resultset" object="1" jump="new_name" select="1" icon="1" preview="1"> +
<row name="result" id="new_name"> +
<cell name="new_name" width="300" /> +
</row> +
</grid>;
addExistingFromSubGridCustom(gridTypeCode, gridControl, crmWindow, fetch, layout, Filtered Markets);
}
//筛选添加现有查找视图(N:N)
函数addExistingFromSubGridCustom(gridTypeCode、gridControl、crmWindow、fetch、layout、viewName){
var viewId={DB2C6D94-48F2-E711-A2B6-00155d04e00};//虚拟视图ID
var relName=gridControl.GetParameter(relName);
var roleOrd=gridControl.GetParameter(roleOrd);
//创建自定义视图对象
var customView={
fetchXml:fetch,
id:viewId,
layoutXml:layout,
名称:viewName,
recordType:gridTypeCode,
类型:0
};
var parentObj=crmWindow.GetParentObject(null,0);
变量参数=[gridTypeCode,relName,roleOrd,parentObj];
var callbackRef=crmWindow.Mscrm.Utilities.createCallbackFunctionObject(locassocObjection,crmWindow,parameters,false);
crmWindow.LookupObjectsWithCallback(callbackRef,null,multi,gridTypeCode,0,null,null,null,null,null,viewId,[customView]);
}
函数过滤器AddExistingContact(gridTypeCode、gridControl、primaryEntity){
调试器;
var crmWindow=Xrm.Internal.isTurboForm()?parent.window:window;
var lookup=新数组();
lookup=Xrm.Page.getAttribute(新的_通道).getValue();
if(查找!=null){
var name=查找[0]。名称;
var id=lookup[0].id;
var entityType=lookup[0]。entityType;
}
其他的
{
crmWindow.Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode,gridControl);//默认按钮单击函数
返回;
}
if(primaryEntity!=nxt_callreport){
crmWindow.Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode,gridControl);//默认按钮单击函数
返回;
//Mscrm.GridRibbonActions.addExistingFromSubGridAssociated(gridTypeCode,gridControl);//默认按钮单击函数
//返回;
}
//获取以检索筛选的数据
var fetch=+
+
+
+
+
+
+
+
+
+
;
//要在自定义视图中显示的列(请确保在获取查询中包含这些列)
变量布局=+
+
+
+
;
addExistingFromSubGridCustom(gridTypeCode、gridControl、crmWindow、fetch、layout、Filtered Markets);
}
更新此行:
var crmWindow = Xrm.Internal.isTurboForm() ? parent.window : window;
到
和更新:
crmWindow.Mscrm.Utilities.createCallbackFunctionObject(
crmWindow.Mscrm.Utilities.createCallbackFunctionObject(