Вторичные столбцы поиска для внешних типов контента, не отображающих данные в списке после обновления с основного
Я создал список SharePoint, в котором есть столбец поиска для внешнего списка. Я также дал указание SharePoint показать несколько дополнительных столбцов, связанных с этим основным внешним столбцом поиска, в моем списке.
Проблема заключается в том, что после того, как я программно добавляю новый SPListItem в свой список и устанавливаю SPLookupValue для основного поля поиска (что работает нормально), когда я перехожу к представлению списка на моем портале SharePoint, я вижу значение в основном поле, но когда я щелкните зеленый значок "Обновить данные из внешнего списка" в заголовке столбца, чтобы загрузить данные из внешнего списка в дополнительные поля. Я получаю следующее сообщение.
Обновление прошло успешно.
0 товар (ов) был обновлен.
0 пункт (ов) не может быть обновлен. Обратитесь к системному администратору.
Кроме того, когда я пытаюсь отредактировать SPListItem значение, которое отображается в первичном внешнем поисковом столбце (которое должно быть допустимым значением), я приветствую сообщение, отображаемое под текстовым полем, которое гласит:
"Точное совпадение не найдено. Нажмите на элемент (ы), который не удалось разрешить, чтобы получить дополнительные параметры. Вы также можете использовать кнопку" Выбрать "для выбора" Внешние данные ".
Когда я нажимаю на значок, чтобы выбрать внешние данные, я получаю всплывающее окно / диалоговое окно, которое позволяет мне выбирать элементы из внешнего списка. Все данные отображаются правильно. Там нет ошибок. Но когда я на самом деле выбираю одну из строк и нажимаю "ОК", я получаю такое же красное сообщение об ошибке, в котором говорится, что "Точное совпадение не найдено...".
Я предполагаю, что что-то не так с моим внешним типом контента, методом Bdc, Specific Finder, который отвечает за получение данных для конкретного результата объекта, но я просто не уверен, как точно определить, что не так.
1 ответ
ХОРОШО. Так что я разобрался с проблемой.
Я создал идентификаторы для ВСЕХ свойств моей сущности вместо того, чтобы просто создавать идентификаторы только для свойств, которые делают конкретную сущность уникальной! Я создал идентификаторы для свойств со значениями NULL и других, которые имели тип DateTime, которые вообще не уникально идентифицируют сущность. В результате при попытке выполнить обновление данных внешнего списка он пытался извлечь внешние данные для каждого из отдельных элементов списка, предполагая, что каждый отдельный столбец / поле во внешнем списке является частью уникального идентификатора. для определенного элемента списка. Очевидно, что это помешало корректному обновлению данных.