Всем привет! Сегодня попробуем автоматизировать процесс создания поручений с использованием платформы данных Microsoft Common Data Service и сервисов Power Apps и Power Automate. На базе Common Data Service построим сущности и атрибуты, при помощи Power Apps сделаем несложное мобильное приложение, ну а Power Automate поможет связать все компоненты единой логикой. Не будем терять времени!



Но для начала немного терминологии. Что из себя представляет Power Apps и Power Automate мы уже знаем, но, если вдруг кто не в курсе, рекомендую ознакомиться с моими предыдущими статьями, например, вот тут или тут. Однако, что из себя представляет Common Data Service мы еще не разбирали, поэтому самое время добавить немного теории.



Common Data Service (сокращенно CDS) это платформа хранения данных вроде базы данных. Собственно, это и есть база данных, расположенная в облаке Microsoft 365 и имеющая тесную связь со всеми сервисами Microsoft Power Platform. Также CDS доступна через Microsoft Azure и Microsoft Dynamics 365. Данные в CDS могут попадать различными способами, один из способов, например, создание записей в CDS вручную, по аналогии с SharePoint. Все данные в Common Data Service хранятся в виде таблиц, называемых сущностями. Есть ряд базовых сущностей, которые можно использовать для своих целей, но можно также создавать и свои собственные сущности со своими наборами атрибутов. Аналогично SharePoint, в Common Data Service при создании атрибута можно указать его тип и типов здесь огромное количество. Одной из интересных особенностей является возможность создавать так называемые «Наборы параметров» (аналог вариантов для поля типа Выбор в SharePoint), которые можно переиспользовать в любом поле сущности. Плюс, данные могут быть загружены из различных поддерживаемых источников, а также из приложений Power Apps и из потоков Power Automate. В общем, если кратко, то CDS это система хранения и поиска данных. Преимуществом данной системы является тесная интеграция со всеми сервисами Microsoft Power Platform, что позволяет выстраивать структуры данных различного уровня сложности и использовать их в дальнейшем в Power Apps приложениях и с легкостью подключаться к данным через Power BI для построения отчетности. CDS имеет свой интерфейс для создания сущностей, атрибутов, бизнес-правил, связей, представлений и дашбордов. Интерфейс работы с CDS расположен на сайте make.powerapps.com в разделе «Данные», где собраны все основные возможности для настройки сущностей.
Итак, давайте попробуем что-нибудь настроить. Создадим в Common Data Service новую сущность «Поручение»:



Как Вы можете заметить, при создании новой сущности необходимо указать ее имя в единичном и множественном значении, а также требуется задать ключевое поле. В нашем случае это будет поле «Наименование». Кстати, также можете обратить внимание, что внутренние и отображаемые имена сущностей и полей указываются сразу на одной форме, в отличие от SharePoint, где требуется сначала создать поле на латинице, а потом уже переименовывать его на русский язык.
Также, при создании сущности есть возможность произвести огромное количество различных настроек, но сейчас не будем этого делать. Создаем сущность и переходим к созданию атрибутов.
Создаем поле Статус с типом «Набор параметров» и определяем 4 параметра в разрезе этого поля (Новое, Исполнение, Исполнено, Отклонено):



Аналогичным образом создаем остальные поля, которые потребуются нам для реализации приложения. Кстати, перечень доступных типов полей указан ниже, согласитесь, их явно немало?



Обратите еще внимание на настройку обязательности полей, помимо «Обязательное» и «Необязательное» есть еще вариант «Рекомендуется»:



После того, как мы создали все необходимые поля, можно посмотреть на весь перечень полей текущей сущности в соответствующем разделе:



Сущность настроена и сейчас необходимо настроить форму ввода данных на уровне Common Data Service для текущей сущности. Переходим на вкладку «Формы» и нажимаем «Добавить форму» -> «Основная форма»:



Настраиваем новую форму для ввода данных через Common Data Service и выстраиваем поля друг за другом, после чего нажимаем кнопку «Опубликовать»:



Форма готова, проверим ее работу. Возвращаемся в Common Data Service и переходим на вкладку «Данные», после чего нажимаем «Добавить запись»:



В открывшемся окне формы вводим все необходимые данные и нажимаем «Сохранить»:



Теперь в разделе «Данные» у нас есть одна запись:



Но отображается мало полей. Это легко исправить. Переходим на вкладку «Представления» и открываем на редактирование самое первое представление. Размещаем нужные поля на форме представления и нажимаем «Опубликовать»:



Проверяем состав полей в разделе «Данные». Всё отлично:



Итак, на стороне Common Data Service готова сущность, поля, представление данных и форма для ручного ввода данных непосредственно из CDS. Теперь давайте сделаем приложение холста Power Apps для нашей новой сущности. Переходим к созданию нового приложения Power Apps:



В новом приложении производим подключение к нашей сущности в Common Data Service:



После всех подключений настраиваем несколько экранов нашего мобильного приложения Power Apps. Делаем первый экран с небольшой статистикой и переходами между представлениями:



Делаем второй экран с перечнем имеющихся поручений в сущности CDS:



И делаем еще один экран для создания поручения:



Сохраняем и публикуем приложение, после чего запускаем его для проверки. Заполняем поля и нажимаем кнопку «Создать»:



Проверим, создалась ли запись в CDS:



Проверим то же самое из приложения:



Все данные на месте. Остался финальный штрих. Сделаем небольшой Power Automate поток, который при создании записи в Common Data Service будет отправлять уведомление исполнителю поручения:



В итоге, мы с Вами сделали сущность и форму на уровне Common Data Service, приложение Power Apps для взаимодействия с данными CDS и поток Power Automate для автоматической рассылки уведомлений исполнителям, при создании нового поручения.

Теперь о ценах. Common Data Service не входит в Power Apps, поставляемый в составе подписки Office 365. Это значит, что если у вас есть подписка Office 365 и в рамках нее есть Power Apps, то Common Data Service, по умолчанию, у вас не будет. Для доступа к CDS необходима покупка отдельной лицензии на Power Apps. Цены на планы и варианты лицензирования указаны ниже и взяты с сайта powerapps.microsoft.com:



В следующих статьях мы с Вами рассмотрим еще больше возможностей Common Data Service и Microsoft Power Platform. Всем хорошего дня!