Был в моей практике случай, когда количество записей в SharePoint List превысил 2000 записей и возникли проблемы с отображением списка в галерее данных приложения Power APPS. Существует множество способов решить эту проблему и все эти варианты можете найти в интернете. В этой небольшой статье я вам предложу быстрое и простое решение для отображения списков, где записи имеют хронологический порядок и работа ведется всегда с актуальной (последней введенной) частью этих данных. Но вначале немного теории о проблеме в Power APPS.
Размер коллекций в приложениях Power APPS ограничен 2000 записей (при условии, что вы выставили это в настройках, а так всего 500). Это ограничение связано с тем, что функции ClearCollect
и Collect
могут возвращать только столько записей, сколько позволяет лимит делегирования. В большинстве случаев предпочтительно считывать данные непосредственно из источника данных, такого как SharePoint List, по причинам производительности, но в других случаях необходимо собрать все данные в коллекцию для формирования таблиц или для включения автономного режима. Опять же, если у вас есть доступ к администрированию SharePoint, то вопрос можно решить через изменение политики делегирования, увеличив размер массива. Множество вариантов решения можете найти ссылке.
В моем случае было допущение, что данные, являющиеся устаревшими за пределами 2000+ записей и не обязательны к отображению в галерее приложения Power APPS, а потому я могу работать со срезом до 2000 записей. Всякий раз при создании новых записей в этот срез будут включаться "свежие", а устаревшие за переделами 2000 не будут попадать в список. Попробуем проиллюстрировать сказанное.
Программный код для источника галереи потребует изменений, и для свойства Items
нужно прописать источник с принудительной обратной сортировкой.
// Было для Items
ProjectList
// Стало для Items
Sort(ProjectList, ID, SortOrder.Descending)
☑️Преимущества такого подхода:
- Простейшее решение на скорую руку для работы с записями, где не требуется обращаться к записям за пределами 2000+.
❌Недостатки
- Поиск, фильтрация только в диапазоне последних 2000 записей,
- Неподходящий вариант работы со списками, если нужно работать со всеми записями.
Вообще, нужно всегда склоняться к варианту работы со структурированными данными через базы данных, а не лимитированные возможности облачных сервисов. А если ограничения предписаны на использование Power APPS и SharePoint List, то изначально работайте через объединение коллекций или организацию "пагинации", где без Power Automate, скорее всего, не обойтись.