Dynamics365 «ОШИБКА КОНТРОЛЯ ЗАГРУЗКИ: невозможно добавить элемент typename = в элемент управления поиском» Ошибка JavaScript - PullRequest
0 голосов
/ 16 ноября 2018

Мы только что унаследовали проект MS Dynamics 365 CRM. Мы добились определенного прогресса, но это определенно не наша сильная сторона.

У нас есть форма, которая предварительно заполняет несколько полей. Функция JavaScript "setLookupValue" вызывается для предварительного заполнения полей. Эта функция часто вызывается во всем решении. Это работает во всех других случаях, кроме этого одного поля. Когда функция вызывается для этого конкретного поля, мы получаем следующую ошибку JavaScript:

"ОШИБКА КОНТРОЛЯ КОНТРОЛЯ ЗАПИСИ: невозможно добавить элемент с именем typename = в элемент управления поиском".

Вот функция JS:

setLookupValue: function (LookupId, Type, Id, Name) {
    var lookupReference = [];
    lookupReference[0] = {};
    lookupReference[0].id = Id;
    lookupReference[0].entityType = Type;
    lookupReference[0].name = Name;
    alert("SET LOOKUP DEBUG: Name = " + Name + ", Type = " + Type + ", ID = " + Id + ", LookupId = " + LookupId);
    Xrm.Page.getAttribute(LookupId).setValue(lookupReference);
}

Мне кажется, что функция JS безупречна, поскольку она работает во многих местах решения. Это заставляет меня думать, что это что-то связанное с параметрами (данными), передаваемыми в?

Я провел много исследований в Интернете, но мне сложно это отсортировать.

Заранее благодарим за любую помощь!

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Спасибо всем, кто предоставил полезную информацию.Я смог решить эту проблему, внимательно изучив работающие вызовы поиска JS.

Лучше всего я могу сказать, что «ОШИБКА КОНТРОЛЯ СООТВЕТСТВИЯ: Невозможно добавить элемент typename = в элемент управления поиском» действительно означает, что Dynamics не может найти тип сущности, совпадающий с именем, которое вы передаете .

В моем случае я передавал "affiliate". Из-за несоответствия в способе именования сущностейв этом решении был добавлен префикс к имени сущности аффилированного лица. Правильное имя сущности, необходимое для функции, отображается на странице определения сущности.

Таким образом, в конечном счете, имя сущности передается в функцию JS дляТип был неверным. Как только я добавил префикс для исправления имени типа, вызов поиска начал работать.

0 голосов
/ 16 ноября 2018

Подобная проблема обсуждалась в сообществе здесь и здесь .

  1. Убедитесь, что вы передаете логическое имя сущности в параметре entityType, т.е. все маленькие символы
  2. Кроме того, имя сущности должно быть в единственном числе, а не во множественном числе, например заканчиваться на «s» или «es»
  3. Сравните фрагмент, вызывающий этот метод, между рабочим и нерабочим кодом
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...