Функції Collect, Clear і ClearCollect

Створення та очищення колекцій, а також додавання записів до джерела даних.

Collect

Застосовується до: програм Canvas Карток Dataverse плагінів із низьким кодом інтерфейсу Power Platform командного рядка

Функція Collect додає записи до джерела даних. До елементів, які можна додати, відносяться нижченаведені.

  • Одиночне значення: вноситься в поле Value нового запису. Усі інші властивості залишаються blank.
  • Запис: кожна властивість із назвою вноситься до відповідної властивості нового запису. Усі інші властивості залишаються пустими.
  • Таблиця: кожен запис таблиці додається як окремий запис джерела даних (описано вище). Таблиця не додається до запису як вкладена таблиця. Для цього спочатку потрібно перенести таблицю в запис.

У разі використання разом із колекцією будуть створені додаткові стовпці, якщо це потрібно. Стовпці для інших джерел даних закріпляються за конкретним джерелом даних, тому додавання нових стовпців неможливе.

Якщо джерела даних ще не існує, створюється колекція.

Іноді колекції використовуються для зберігання глобальних змінних або створення тимчасової копії джерела даних. Компоновані програми базуються на формулах, які автоматично переобчислюються, коли користувач взаємодіє з програмою. Ця перевага недоступна для колекцій, і їх використання може ускладнити створення і розуміння програми. Перш ніж використовувати колекцію в такий спосіб, ознайомтеся зі статтею про роботу зі змінними.

Записи у джерелі даних також можна створити за допомогою функції Patch.

Функція Collect повертає змінене джерело даних як таблицю. Функцію Collect можна використовувати тільки у формулі поведінки.

Скасувати

Застосовується до: програм Canvas

Функція Clear видаляє всі записи колекції. Водночас стовпці колекції залишаються.

Зверніть увагу, що функція Clear працює лише з колекціями, але не з іншими джерелами даних. Для цієї мети можна скористатися функцією RemoveIf( DataSource, true ). Будьте уважні, оскільки буде видалено всі записи зі сховища джерела даних, що може вплинути на інших користувачів.

Скористайтеся функцією Remove для вибіркового видалення записів.

Функція Clear не має значення, що повертається. Її можна використовувати тільки у формулі поведінки.

ClearCollect

Застосовується до: програм Canvas Програм на основі моделі

Функція ClearCollect видаляє всі записи із колекції. Після цього функція додає інший набір записів у ту саму колекцію. Будучи окремою функцією, ClearCollect пропонує комбінацію функцій Clear та Collect.

Функція ClearCollect повертає змінену колекцію як таблицю. Функцію ClearCollect можна використовувати тільки у формулі поведінки.

Делегування

Коли використовується з джерелом даних, ці функції не можна делегувати. Буде отримано лише першу частину джерела даних, а потім – застосовано функцію. У результаті може відображатися не повна історія. Під час редагування може з’явитися попередження, щоб нагадати вам про це обмеження та запропонувати переключитися на делеговані альтернативи, де це можливо. Додаткову інформацію див. у статті Огляд делегування.

Синтаксис

Collect( DataSource, Item, ... )

  • DataSource — обов’язковий аргумент. Джерело даних, до якого потрібно додати дані. Якщо його ще не існує, створюється нова колекція.
  • Item(s) – обов’язковий аргумент. Один або кілька записів або таблиць, які потрібно додати до джерела даних.

Clear( Collection )

  • Collection – обов'язковий аргумент. Колекція, яку потрібно очистити.

ClearCollect( Collection, Item, ... )

  • Collection – обов'язковий аргумент. Колекція, яку потрібно очистити, а потім додати до неї дані.
  • Item(s) – обов’язковий аргумент. Один або кілька записів або таблиць, які потрібно додати до джерела даних.

Приклади

Очищення та додавання записів до джерела даних

У цих прикладах буде стерто колекцію з ім’ям IceCream (Морозиво) та додано до неї дані. Джерело даних починається з наведеного нижче вмісту.

Зразок джерела даних.

Формула Опис Результат
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) Видаляє всі дані з колекції IceCream, а потім додає запис, що включає кількість морозива з полуничним смаком. Таблиця з одним записом.

Колекцію IceCream також було змінено.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) Додає два записи до колекції IceCream, що включає кількість морозива із фісташковим та апельсиновим смаками. Таблиця з двома записами.

Колекцію IceCream також було змінено.
Clear( IceCream ) Видаляє всі записи з колекції IceCream. Порожній стіл.

Колекцію IceCream також було змінено.

Покрокові приклади створення колекції див. в статті Створення та оновлення колекції.

Записи і таблиці

У цих прикладах розглядається порядок обробки аргументів записів і таблиць для функцій Collect і ClearCollect.

Формула Опис Результат
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) Видаляє всі дані, а потім додає два записи до колекції IceCream, що включає кількість морозива з шоколадним і ванільним смаками. Записи, які необхідно додати, надаються як окремі аргументи функції. Шоколадно-ванільні платівки поповнили колекцію.

Колекцію IceCream також було змінено.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) Відповідає попередньому прикладу, за винятком того, що записи об’єднуються в таблицю та передаються за допомогою одного аргументу. Вміст таблиці видобувається запис за записом перед додаванням до колекції IceCream. Шоколадно-ванільні платівки додані до колекції та змінені.

Колекцію IceCream також було змінено.
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
Відповідає попередньому прикладу, за винятком того, що таблиця переноситься в запис. Записи таблиці не видобуваються. Замість цього вся таблиця додається як клітинка запису. Шоколадно-ванільні платівки, додані до колекції, змінені столом, загорнутим у платівку.

Колекцію IceCream також було змінено.