Как отфильтровать проиндексированный столбец «Люди/пользователи»

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/69527

Вопрос

У меня длинный список (более 5000 элементов), и из-за порога просмотра я проиндексировал некоторые столбцы.Один из них — столбец «Люди/пользователи».Когда я хочу создать представление, которое фильтрует столбец «Пользователь», оно не работает и возвращает сообщение об ошибке «Это представление невозможно отобразить, поскольку оно превышает порог представления списка (5000 элементов), установленный администратором».

Вот что я тестировал:

  • если я использую «равно» «[Me]», то это работает
  • если я использую «равно» «имени», то это не работает (столбец настроен на отображение имени)
  • если я использую «равно» «домен\имя пользователя», то это не работает
  • если я использую «равно» «email@address», то это не сработает
  • если я использую «равно» «имени пользователя», то это не работает
  • если я использую «равно» «userID», то это не работает
  • если я использую «равно» «userID;#username», то это не работает
  • если я использую «равно» «-1;#username», то это не сработает
  • Я не могу использовать слова «содержит» или «начинается с», потому что это поле людей.

Больше идей у ​​меня нет....Какие-либо предложения ?

Спасибо

Это было полезно?

Решение 2

Наконец, я решил создать текстовую версию столбца «Человек/группа», которая также будет индексироваться.Теперь я могу фильтровать этот столбец ТЕКСТ, и у меня есть рабочий процесс в фоновом режиме, который копирует значение человека/группы в это текстовое поле.

РЕДАКТИРОВАТЬ:

На самом деле это можно сделать, используя UserID.Код CAML будет включать LookupId="True" и в конце предложение WHERE должно выглядеть так <FieldRef Name="My_x0020_Field_x0020_Name" LookupId="True"/><Value Type="Integer">123</Value>

Я реализовал этот метод в своем JavaScript-библиотека Sharepoint для запросов.Например, если UserID равен 123, мой запрос в SharepointPlus будет выглядеть так:

$SP().list("List Name").get({
  fields:"Manager",
  where:"Employee_x0020_Name ~= 123" /* we use the special operator '~=' */
}, function(data) {
  if (data.length===1) alert("Manager: "+data[0].getAttribute("Manager"))
})

Другие советы

[ME] - это стандартный способ отфильтровать список.Как я вспоминаю, столбцы человека / группы имеют дополнительные накладные расходы в том, что есть дополнительные запросы, которые влияют на порог, как с столбцами поиска.Этот дополнительный накладные расходы по очереди уменьшает фактическое пороговое значение, которое можно вернуть, меньше, чем предел.Я пытаюсь найти ссылку на это.

Вам может потребоваться появится порог поиска списка, увеличился в центральном администрате.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top