Работа с данными в Microsoft SharePoint часто требует фильтрации информации по дате. Одной из самых распространенных задач системных администраторов и разработчиков является выборка записей‚ которые были созданы или изменены за определенный период‚ например‚ за последние две недели. В этой статье мы подробно рассмотрим‚ как правильно составлять такие запросы‚ какие нюансы существуют при работе с датами‚ и приведем конкретные примеры.
Основные подходы к фильтрации по дате в SharePoint
В SharePoint существует несколько способов получения данных за определенный временной интервал. Выбор метода зависит от того‚ какой инструмент вы используете: стандартный интерфейс‚ Power Automate‚ REST API или CAML-запросы.
Использование CAML-запросов
CAML (Collaborative Application Markup Language), это язык запросов на основе XML‚ который исторически используется в SharePoint для фильтрации и сортировки данных списков и библиотек. Это один из самых надежных способов получить нужные записи‚ особенно если вы пишете код или используете SharePoint Designer.
Для фильтрации записей по дате в CAML используется тег <Where> с операторами сравнения‚ такими как <Geq> (больше или равно) и <Leq> (меньше или равно).
Пример CAML-запроса за последние 14 дней
Поскольку CAML-запросы требуют статических значений дат (в формате ISO 8601)‚ вам необходимо вычислить дату «минус 14 дней» от текущего момента и подставить её в запрос. Если сегодня ‚ то дата две недели назад — .
Пример запроса для поля «Modified» (Изменен):
<Where>
<Geq>
<FieldRef Name=»Modified» />
<Value Type=»DateTime»>2026-07-25T12:31:10Z</Value>
</Geq>
</Where>
Этот запрос вернет все элементы‚ дата изменения которых больше или равна 25 июля 2026 года.
Использование REST API
Для современных разработчиков более предпочтительным является REST API SharePoint. Он позволяет использовать OData-параметры для фильтрации данных. Синтаксис фильтрации по дате в REST API очень похож на SQL.
Пример REST-запроса:
_api/web/lists/getbytitle(‘ИмяСписка’)/items?$filter=Modified ge ‘2026-07-25T12:31:10Z’
Здесь также используется вычисленная дата‚ отстоящая от текущей на 14 дней.
Важные нюансы работы с датами в SharePoint
Как было отмечено в информации из интернета‚ работа с датами в SharePoint имеет свои подводные камни‚ которые обязательно нужно учитывать:
- Часовые пояса (Time Zones): Это самая частая проблема. Если файл был загружен в 10:50 PM по времени EST (Восточное время США)‚ пользователи из других часовых поясов могут не найти его при поиске за . Для них дата будет считаться как . При составлении запросов всегда учитывайте смещение часового пояса пользователя или сервера. В CAML-запросах можно использовать атрибут IncludeTimeValue=’TRUE’ для точного учета времени.
- Разница между Created и Modified: Поля «Created» (Создан) и «Modified» (Изменен) служат разным целям. Если вам нужны записи‚ которые были добавлены за последние 2 недели‚ используйте поле «Created». Если вас интересуют записи‚ в которые вносились правки — используйте «Modified».
- Формат даты: SharePoint ожидает даты в формате ISO 8601: YYYY-MM-DDTHH:MM:SSZ. ‘Z’ в конце означает UTC время. Если вы передадите дату в другом формате‚ запрос может не сработать или вернуть неверные данные.
Решения без кода: вычисление количества дней
Если вы не хотите писать код‚ вы можете использовать вычисляемые столбцы или Power Automate для определения количества дней с момента последнего изменения. Как упоминалось в источниках‚ одной из часто запрашиваемых функций является отчет по срокам для задач. Вы можете создать вычисляемый столбец со следующей формулой:
=DATEDIF(Modified‚ TODAY‚ «d»)
Этот столбец покажет‚ сколько дней прошло с последнего изменения. Затем вы можете отфильтровать представление списка‚ оставив только те записи‚ где значение этого столбца меньше или равно 14.
Альтернативные методы и отчеты
SharePoint предоставляет встроенные инструменты для анализа активности‚ которые могут заменить сложные запросы‚ если ваша цель — просто посмотреть статистику:
- Отчеты об использовании сайта: В Центре администрирования SharePoint можно просмотреть сведения об использовании вашего сайта. Данные доступны за последние 7‚ 30 и 90 дней. Там показано распределение посещений по устройствам (настольные ПК‚ мобильные).
- Отчеты об использовании поиска: Современные отчеты об использовании поиска (Майкрософт) содержат графики и таблицы‚ созданные в результате поиска на современных сайтах. Вы можете просматривать данные за последние 31 день или ежемесячно за предыдущий год.
- Просмотр последних изменений: В Центре администрирования разверните узел «Сайты»‚ выберите «Активные сайты» и перейдите к разделу «Ваши последние действия»‚ чтобы быстро увидеть недавние изменения без написания запросов.
Выборка записей за последние 2 недели в SharePoint — задача‚ имеющая несколько решений. Независимо от того‚ используете ли вы CAML-запросы‚ REST API или решения без кода‚ самое главное — правильно рассчитать дату и учесть часовые пояса. Использование формата ISO 8601 и понимание разницы между временем сервера и клиента поможет избежать ошибок и получить точные результаты.