Причина, по которой это работает для одного человека, но не для нескольких людей, заключается в том, что чек специально предназначен для конкретного человека. Сравнение, которое вы просматриваете, заключается в том, равен ли Assigned значению [Me], а не в том случае, если Assigned имеет [Me] в качестве одного из объектов.
Вместо использования фильтра списка is equal to
используйте фильтр списка contains
. Это должно сработать.
РЕДАКТИРОВАТЬ В ОТВЕТ НА КОММЕНТАРИИ
Для доступа к объектной модели вам необходимо использовать Visual Studio. Я не знаю, как сделать это с помощью SharePoint Designer, но, возможно, есть какая-то сумасшедшая возможность просмотра таблицы, которую вы можете сделать. Во всяком случае ... на ваши реальные потребности ...
Следующий пример кода иллюстрирует очень простой метод для достижения вашей цели.
using (SPSite site = new SPSite("yourwebsiteurlhere"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["titleoflist"];
SPView view = list.Views["filteredviewname"];
view.Query = "<Where><Contains><FieldRef Name=\"assignfield\"/><Value Type=\"Integer\"><UserID Type=\"Integer\" /></Value></Contains></Where>";
view.Update();
}
}
Замените «yourwebsiteurlhere» на URL веб-сайта, «titleoflist» на название вашего списка, о котором идет речь, «Filterviewname» - на имя представления, а «assignfield» - на внутреннее имя, которое вы использовали для поля назначения. Если вы создали его через стандартный пользовательский интерфейс SharePoint, это должно быть имя поля без пробелов.
Что касается того, где запускать код, вы могли бы поместить подобные вещи в одноразовый рабочий процесс. Иногда я делаю это, чтобы убедиться, что у меня есть необходимые привилегии. Надеюсь, это поможет!
Если вы не можете / не можете использовать Visual Studio, вам, вероятно, придется искать решение стороннего производителя.