Создание приложения для обработки запросов проектаGenerate an app to handle project requests

Примечание

Эта статья входит в серию руководств по использованию PowerApps, Microsoft Flow и Power BI совместно с SharePoint Online.This article is part of a tutorial series on using PowerApps, Microsoft Flow, and Power BI with SharePoint Online. Обязательно просмотрите вводные сведения, чтобы получить общее представление о процессе и скачать связанные файлы.Make sure you read the series introduction to get a sense of the big picture, as well as related downloads.

Теперь, когда списки SharePoint подключены, можно создать и настроить первое приложение.Now that the SharePoint lists are in place, we can build and customize our first app. PowerApps интегрируется с SharePoint, что позволяет легко создавать базовые приложения с тремя экранами непосредственно из списка.PowerApps is integrated with SharePoint, so it's easy to generate a basic three screen app directly from a list. С помощью этого приложения вы сможете не только просматривать сводные и подробные сведения о каждом элементе списка, а также обновлять и создавать элементы.This app allows you to view summary and detailed information for each list item, update existing list items, and create new list items. Если вы создаете приложение непосредственно из списка, оно отображается как представление этого списка.If you create an app directly from a list, the app appears as a view for that list. Такое приложение можно запустить в браузере или на мобильном телефоне.You can then run that app in a browser, as well as on a mobile phone.

Совет

Пакет загрузки для нашего примера содержит полную версию этого приложения: project-requests-app.msapp.The download package for this scenario includes a finished version of this app: project-requests-app.msapp.

Шаг 1. Создание приложения из списка SharePointStep 1: Generate an app from a SharePoint list

  1. В созданном списке Project Requests (Запросы проекта) щелкните PowerApps и нажмите кнопку Create an app (Создать приложение).In the Project Requests list you created, click or tap PowerApps, then Create an app.

    Создание приложения

  2. Введите имя приложения, например "Приложение для запросов проектов", и нажмите кнопку Create (Создать).Give the app a name, like "Project Requests app", then click or tap Create. Созданное приложение откроется в PowerApps Studio для Web.When the app is ready, it opens in PowerApps Studio for web.

    Выбор имени приложения

Шаг 2. Просмотр приложения в PowerApps StudioStep 2: Review the app in PowerApps Studio

  1. В PowerApps Studio на панели навигации слева по умолчанию отображается иерархическое представление экранов и элементов управления приложения.In PowerApps Studio, the left navigation bar by default shows a hierarchical view of the screens and controls in the app.

    PowerApps Studio с иерархическим представлением

  2. Щелкните значок эскиза, чтобы переключить представление.Click or tap the thumbnail icon to switch views.

    Выбор представления в PowerApps Studio

  3. Щелкните любой экран, чтобы открыть его на центральной панели.Click or tap each screen to view it in the middle pane. Отобразится три экрана:There are three screens:

    (a).(a). Экран обзора — просмотр, сортировка и фильтрация данных, извлеченных из списка.The browse screen, where you browse, sort, and filter the data pulled in from the list.

    (b).(b). Экран сведений — просмотр дополнительных сведений об элементе.The details screen, where you view more detail about an item.

    (c).(c). Экран изменения или создания — изменение существующего элемента или создание нового.The edit/create screen, where you edit an existing item or create a new one.

    PowerApps Studio с представлением эскиза

Шаг 3. Настройка экрана обзора приложенияStep 3: Customize the app's browse screen

  1. Выберите экран обзора.Click or tap the browse screen.

    Этот макет экрана содержит коллекцию для отображения элементов списка и элементов управления, таких как панель поиска и кнопка сортировки.This screen has a layout that contains a gallery to show list items, as well as other controls, like a search bar and sort button.

  2. Выберите коллекцию BrowseGallery1, щелкнув любую запись, кроме первой.Select the BrowseGallery1 gallery by clicking or tapping any record except the first one.

    Коллекция обзора

  3. В области справа в разделе Свойства выберите Запросы проектов.In the right pane, under Properties, click or tap Project Requests.

  4. Обновите поля значениями из списка ниже:Update the fields to match the following list:

    • RequestDate;RequestDate

    • Requestor.Requestor

    • Title;Title

      Поля коллекции

  5. Выбрав BrowseGallery1, щелкните свойство Items.With BrowseGallery1 still selected, select the Items property.

    Свойство Items

  6. Вставьте формулу SortByColumns(Filter('Project Requests', StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending)).Change the formula to SortByColumns(Filter('Project Requests', StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending)).

    Строка формул

    Это позволит сортировать и искать по полю Title, вместо поля по умолчанию, выбранного PowerApps.This allows you to sort and search by the Title field, instead of the default that PowerApps picked. См. подробные сведения о формулах.See Formula deep-dive for more information.

  7. Откройте меню File (Файл) и выберите Save (Сохранить).Click or tap File, then Save. Щелкните Значок возврата к приложению, чтобы вернуться к приложению.Click or tap Back to app icon to go back to the app.

Шаг 4. Просмотр экрана сведений и редактирования в приложенииStep 4: Review the app's details screen and edit screen

  1. Выберите экран сведений.Click or tap the details screen.

    Здесь используется другой макет экрана, состоящий из формы просмотра для отображения сведений об элементе, выбранном в коллекции.This screen has a different layout that contains a display form to show the details for an item selected in the gallery. Также в нем содержатся элементы управления, с помощью которых можно отредактировать и удалить элементы списка или вернуться к экрану обзора.It has controls to edit and delete items, and to go back to the browse screen.

    Форма просмотра сведений

  2. Выберите экран редактирования.Click or tap the edit screen.

    На этом экране расположена форма редактирования, в которой можно изменить выбранный элемент или создать новый (если вы перешли к этой форме непосредственно с экрана обзора).This screen contains an edit form to edit the selected item, or create a new one (if you come here directly from the browse screen). На нем также расположены элементы управления, с помощью которых можно сохранить или отменить изменения.It has controls to save or discard changes.

    Форма редактирования

Шаг 5. Запуск приложения из спискаStep 5: Run the app from the list

  1. В списке Project Requests (Запросы проекта) выберите All Items (Все элементы) и Приложение для запросов проектов.In the Project Requests list, click or tap All Items, then Project Requests app.

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

  2. Нажмите кнопку Open (Открыть), чтобы открыть приложение в новой вкладке браузера.Click Open, which opens the app in a new browser tab.

    Открытие приложения для запросов проектов

  3. В приложении щелкнитеIn the app, click or tap Значок для перехода к подробным сведениям рядом с первым элементом в коллекции обзора.for the first item in the browse gallery.

    Первый элемент коллекции

  4. Выберите стрелкуClick or tap Значок редактирования с изображением карандаша для изменения элемента.to edit the item.

  5. Обновите данные в поле Description. Для этого замените последнее слово group словом team и щелкните Значок с галочкой.Update the Description field – change the last word from "group" to "team," then click or tap Check mark icon

    Обновление данных в поле "Description"

  6. Закройте вкладку браузера.Close the browser tab.

  7. Вернитесь к списку Project Requests (Запросы проекта), выберите Приложение для запросов проектов и All Items (Все элементы).Go back to the Project Requests list, click or tap Project Requests app, then All Items.

    Просмотр всех элементов

  8. Просмотрите изменения, внесенные в приложении.Verify the change you made from the app.

    Просмотр изменений

Это приложение очень простое. Мы использовали только несколько основных настроек, но из примера видно, что можно быстро создать и более интересное решение.This is a pretty simple app, and we only made a few basic customizations, but you can see it's possible to quickly build something interesting. Мы переходим к следующей задаче. Но вы можете протестировать приложение еще раз, чтобы увидеть, как взаимодействуют элементы управления и формулы, определяющие поведение приложения.We're going to move on to the next task, but look around the app a little more if you want, and see how the controls and formulas work together to drive app behavior.

Подробные сведения о формулахFormula deep-dive

Это дополнительный раздел, в котором подробно описано, как работают формулы.This section is optional, but it will help you understand more about how formulas work. На этапе 3 этой задачи мы изменили формулу для свойства Items в коллекции BrowseGallery1.In step 3 of this task, we modified the formula for the Items property of BrowseGallery1. В частности, мы заменили поле для сортировки и поиска, выбранное PowerApps, полем Title.Specifically, we changed the sort and search to use the Title field, instead of the field that PowerApps picked. Вот измененная формула:Here's the modified formula:

SortByColumns ( Filter ( 'Project Requests', StartsWith ( Title, TextSearchBox1.Text ) ), "Title", If ( SortDescending1, Descending, Ascending ) )SortByColumns ( Filter ( 'Project Requests', StartsWith ( Title, TextSearchBox1.Text ) ), "Title", If ( SortDescending1, Descending, Ascending ) )

Для чего же используется эта формула?But what does this formula do? Она позволяет определить источник данных, отображаемый в коллекции, отфильтровать данные по тексту, введенному в поле поиска, и отсортировать результаты с помощью кнопки сортировки в приложении.It determines the source of data that appears in the gallery, filters the data based on any text entered in the search box, and sorts the results based on the sort button in the app. Для этого в формуле используются функции.The formula uses functions to do its work. Функции принимают параметры (т. е. входные данные), выполняют операцию (например, фильтрацию) и возвращают значение (т. е. выходное значение):Functions take parameters (i.e. input), perform an operation (like filtering), and return a value (i.e. output):

  • Функция SortByColumns сортирует данные в таблице по одному или нескольким столбцам.The SortByColumns function sorts a table based on one or more columns.
  • Функция Filter находит записи в таблице, соответствующие условиям заданной формулы.The Filter function finds the records in a table that satisfy a formula that you specify.
  • Функция StartsWith проверяет, начинается ли одна текстовая строка с другой.The StartsWith function tests whether one text string begins with another.
  • Функция If возвращает одно значение, если условие истинно, и другое, если то же условие ложно.The If function returns one value if a condition is true, and returns another value if the same condition is false.

Если объединить функции в формуле, произойдет следующее:When you put the functions together in the formula, here's what happens:

  1. Когда вы вводите текст в поле поиска, функция StartsWith сравнивает этот текст с началом каждой строки в столбце Title списка.If you enter text in the search box, the StartsWith function compares that text to the start of each string in the Title column of the list.

    StartsWith ( Title, TextSearchBox1.Text )StartsWith ( Title, TextSearchBox1.Text )

    Например если ввести в поле поиска текст "de", отобразится четыре результата, включая элементы, начинающиеся с "Desktop" и "Device".For example, if you enter "de" in the search box, you see four results, including items that start with "Desktop" and "Device." Такие результаты, как "Mobile devices", не будут отображаться, так как они не начинаются с "de".You won't see all the "Mobile devices" items because those don't start with "de."

  2. Функция Filter возвращает строки из таблицы Project Requests.The Filter function returns rows from the Project Requests table. Если в поле поиска нет текста для сравнения, функция Filter возвращает все строки.If there is no text in the search box to compare, Filter returns all rows.

    Filter ( 'Project Requests', StartsWith ( Title, TextSearchBox1.Text )Filter ( 'Project Requests', StartsWith ( Title, TextSearchBox1.Text )

  3. Функция If проверяет, какое значение установлено для переменной SortDescending1: True или False. Оно назначается с помощью кнопки сортировки в приложении.The If function looks at whether the variable SortDescending1 is set to true or false (the sort button in the app sets it). Затем функция возвращает значение Descending или Ascending.The function then returns a value of Descending or Ascending.

    If ( SortDescending1, Descending, Ascending )If ( SortDescending1, Descending, Ascending )

  4. Теперь данные в коллекции можно отсортировать с помощью функции SortByColumns.Now the SortByColumns function can sort the gallery. В этом случае данные сортируются по полю Title. Но можно также сортировать и по другим полям (не только по тому, по которому выполняется поиск).In this case, it sorts based on the Title field, but this can be a different field than the one you search on.

Если вы дошли до этих строк, мы надеемся, что теперь вы понимаете, как работает эта формула, а также знаете, как можно объединять функции и другие элементы, чтобы добиться нужного поведения приложения.If you stuck with us up to this point, we hope you have a better sense of how this formula works, and how you can combine functions and other elements to drive the behavior your apps require. Дополнительные сведения см. в справочнике по формулам для PowerApps.For more information, see Formula reference for PowerApps.

Дальнейшие действияNext steps

Следующий этап в этой серии руководств — создание потока для управления утверждениями проектов.The next step in this tutorial series is to Create a flow to manage project approvals.