Я знаю, как изменить FetchXml подсери. Я пытаюсь динамически изменять подзаголовок на основе выбора из наборов параметров с помощью JS. На основе наборов параметров субграду необходимо будет отображать разные объекты (не в одно и то же время).
Пример: В настоящее время в подсети отображаются учетные записи с определенным типом отношений. Изменяется набор параметров, и теперь в подграфе должны появиться «Ведущие», чье имя - Джон.Изменение субсети объекта MSCRM 2011
Ошибка я получаю является «Наименование организации указано в FetchXml не совпадает с именем лица в EntityExpression»
кормлю ниже выборки в сетку. Это просто многозначный поиск. rc_entitylist содержит все объекты в системе. rc_attributelist содержит все поля для выбранного объекта. Пользователь выбирает объект, выбирает поле для поиска, вводит критерии поиска (одно значение в строке), а затем заполняет подзаголовок соответствующим образом.
function runSearch() {
var entityname = Xrm.Page.getAttribute("rc_entitylist").getText();
var sgrid = "searchResults";
var fetchXml = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">'+
'<entity name="' + entityname + '">'+
'<all-attributes />' +
'<filter type="and">'+
'<filter type="or">';
var textBoxLines = document.getElementById("rc_searchcriteria").innerText;
var attributename = Xrm.Page.getAttribute("rc_attributelist").getText();
var lines = textBoxLines.split(/\n/);
for(var i=0;i < lines.length; i++){
fetchXml = fetchXml + '<condition attribute="' + attributename + '" operator="eq" value="'+ lines[i] +'" />';
}
fetchXml = fetchXml + '</filter>'+
'</filter>'+
'</entity>'+
'</fetch>';
updateXml(sgrid, fetchXml, entityname);
}
function updateXml(grid, xmlfield, entityname) {
try {
var g = document.getElementById(grid).control;
g.setParameter("fetchXml", xmlfield);
} catch (e) { }
// Refresh the grid
document.getElementById(grid).control.refresh();
}
, если вы добавите код, будет легче понять проблему –