Създайте галерия за поръчка в приложение за платно
Следвайте инструкциите стъпка по стъпка, за да създадете галерия за поръчка в приложение за платно за управление на фиктивни данни в базата данни на Northwind Traders. Тази тема е част от поредица, която обяснява как да се изгради бизнес приложение на релационни данни в Microsoft Dataverse. За най-добри резултати проучете тези теми в тази последователност:
- Създайте галерия за поръчка (тази тема).
- Създаване на формуляр за обобщение.
- Създаване на галерията за подробности.
Предварителни изисквания
- Инсталирайте базата данни и приложения на Northwind Traders.
- Прочетете преглед на приложението за платно за Northwind Traders.
Създаване на празно приложение
Създайте празно приложение за платно и му дайте име като „Моите поръчки от Northwind (приложение за платно)“.
Добавяне на данните
В левия прозорец изберете Данни > Добавете данни > потърсете и изберете Поръчки таблица.
Таблицата Поръчки съдържа много полета от различен тип:
Всяко поле има Име за показване и Име, което понякога се нарича логическото име. И двете имена се отнасят за едно и също нещо. По принцип ще използвате екранно име, когато изграждате приложение, но някои случаи изисква по-шифрованото име, както е отбелязано в процедура.
Тъй като ние ще работим с екрани и контроли следващия, в Power Apps Studio преминете обратно към Изглед на дърво от лявата страна, като натиснете иконата на три подредени квадрата. Можете да се върнете към Източници на данни по всяко време чрез натискане на иконата на цилиндъра.
Създаване на галерията за поръчки
В раздела Вмъкване изберете Галерия > Празна вертикала, за да добавите контрола Галерия, която ще покаже поръчките.
Контролът ще бъде поставен върху платното и ще се появи диалогов прозорец с въпрос към кой източник на данни да се свържете.
Бихме могли да го свържем директно с Поръчки тук, но вместо това бихме искали да контролираме реда за сортиране на галерията. Пренебрегнете диалоговия прозорец за излитане и в лентата с формули задайте свойството Елементи на галерията на тази формула:
Sort( Orders, 'Order Number', Descending )
Функцията Сортиране подрежда списъка, така че най-новият ред (който има най-голям номер на поръчката) се появява първо.
След няколко мига изгледът на резултатите ще се появи под лентата с формули. Издърпайте надолу стрелката вляво, за да видите резултата от нашата формула. Превъртете надясно, за да видите колоната Номер на поръчка и се уверете, че е сортиран по желания начин (най-висок до най-нисък).
В раздела Свойства в близост до десния ръб, отворете списъка Оформление:
В списъка с опции изберете Заглавие и подзаглавие:
Две контроли Етикет се добавят в шаблона на галерията. По подразбиране тези контроли показват две колони на Поръчки таблица, която ще промените следващата. Шаблонът на галерията се репликира вертикално за всеки запис в таблицата.
Изберете Редактиране (до Полета) в раздела Свойства близо до десния ръб.
В екрана Данни изберете Title1 (или изберете горния етикет в шаблона на галерията).
В лентата за формула задайте свойството Текст на етикета на този израз:
"Order " & ThisItem.'Order Number'
Номерът на поръчката се появява в горната част на всеки елемент от галерията. В шаблона на галерията, Този артикул предоставя достъп до всички полета в таблицата Поръчка.
В екрана Данни изберете Subtitle1 (или изберете долния етикет в шаблона на галерията):
В лентата за формула задайте свойството Текст на етикета на този израз:
ThisItem.Customer.Company
След като въведете тази формула, тя може за момент да покаже червена крива грешка. Грешката трябва да се изчисти, ако изберете нещо извън лентата с формули и след това върнете курсора към лентата с формули. Ако грешката продължава или не виждате стойност, изберете Изглед раздел, изберете Източници на данни и след това опреснете Поръчки таблица, като изберете многоточието (...) вдясно от името на източника на данни.
Когато посочите ThisItem.Customer, вие се възползвате от връзка много към едно между Поръчки и Клиенти таблици и извличане на клиентски запис, свързан с всяка поръчка. От клиентския запис извличате данни в колоната Компания за показване.
Можете да покажете всички взаимоотношения от Поръчки таблица към други таблици, включително таблицата Клиент:
Затворете екрана Данни, като изберете иконата за затваряне (x) в горния десен ъгъл.
Показване на състоянието на всяка поръчка
В тази процедура ще добавите място в галерията за етикет и ще го конфигурирате, за да показва състоянието на всяка поръчка в различен цвят въз основа на данните.
В шаблона на галерията намалете ширината на първия етикет, Title1:
Повторете предишната стъпка с втория етикет Subtitle1:
С избрания шаблон на галерията (или контрола в шаблона) изберете етикет на раздела Вмъкване:
Преместете новия етикет вдясно от етикет Title1:
Задайте свойството Текст на новия етикет на този израз:
ThisItem.'Order Status'
В таблицата Поръчки полето Състояние на поръчка съдържа стойност от опция Статус на поръчките. Изборът е подобен на изброяването в други инструменти за програмиране. Всеки набор от опции е дефиниран в базата данни, така че потребителите могат да определят само онези опции, които са в набора. Опцията Статус на поръчките също е глобален, а не локален, така че можете да го използвате в други таблици:
Всяка опция в набор има име, което се появява, ако го покажете на етикет. Тези имена могат да бъдат локализирани и приложението разпознава една и съща опция, независимо дали английски потребител избира ябълка, френски потребител избира Pommeили избира испански потребител Manzana. Поради тази причина не можете да създадете формула, която разчита на твърдо кодиран низ за опция, както тази тема демонстрира по-късно.
Във формули трябва да заобиколите Състояние на поръчката с единични кавички, защото съдържа интервал. Това име обаче функционира по същия начин като всяко друго име в Power Apps, като клиент или Компания.
В раздела Начало увеличете размера на шрифта на етикета на състоянието до 20 точки и надясно подравнете текста:
В лентата за формули задайте свойството Цвят на етикета състояние на тази формула:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, 'Orders Status'.New, Black, 'Orders Status'.Invoiced, Blue, 'Orders Status'.Shipped, Purple )
Power Apps не ви позволява да създадете формула, която разчита на твърдо кодиран низ за всяка опция в набор, тъй като такива формули могат да доведат до неподходящи резултати, ако имената на опциите са локализирани. Вместо това функцията Превключвател определя цвета въз основа на какъвто низ се появява в етикета въз основа на настройките на потребителя.
При наличието на тази формула различни стойности на състоянието се появяват в различни цветове, както показва предишната графика.
Показване на общата стойност на всяка поръчка
Изберете първия елемент в галерията, който е шаблонът на галерията:
В раздела Вмъкване изберете Етикет, за да добавите друг етикет:
Преместете новия етикет, така че да се показва под етикета на състоянието:
В лентата за формула задайте свойството Текст на новия етикета на тази формула:
Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
В тази формула, Sum функция добавя записите в подробности за поръчката таблица, които са свързани с всеки запис в Поръчка таблица чрез връзка един към много. Тези договорени покупки съставят всяка поръчка и вие ще използвате една и съща връзка за много, за да показвате и редактирате договорените покупки в долната дясна област на екрана.
Тази формула показва синьо подчертаване и предупреждение за делегиране, защото Dataverse не поддържа делегиране на сложни съвкупни функции (например сумата от умножение). Можете да игнорирате тази информация, тъй като нито една поръчка в този пример няма да съдържа повече от 500 договорени покупки. Ако е необходимо за друго приложение, можете да увеличите този лимит в Настройки на приложението.
Функцията Текст в тази формула добавя символ на валута и форматира резултата с хиляди и десетични разделители. Както е написано, формулата включва езика етикет за американски английски ([$-en-US]) и символ на долар ($). Ако премахнете езиковия маркер, той ще бъде заменен с такъв въз основа на вашите езикови настройки и етикетът ще покаже подходящите формати за този маркер. Ако оставите символа за долар, етикетът ще покаже подходящия символ на валутата въз основа на настройките на потребителя. Можете обаче да принудите да се появи различен символ, като замените символа на долара с този, който предпочитате.
В раздела Начало променете размера на шрифта на най-новия етикета на 20 точки и надясно подравнете текста:
Преместете галерията в левия край на екрана и намалете ширината на галерията, за да затворите малко пространство.
Увеличете височината на галерията, така че да е почти толкова висока, колкото на екрана, но оставете малко място в горната част за лента със заглавия, която ще добавите в началото на следващата тема:
Обобщение
За да резюмирате, вие започнахте да създавате приложение за платно с един екран, като добавите галерията за поръчки, която включва тези елементи:
- Израз, който показва номера на поръчката:
"Orders " & ThisItem.OrderNumber
- Поле в релация „много към едно”:
ThisItem.Customer.Company
- Етикет, който показва името на опция в набор:
ThisItem.'Order Status'
- Етикет, който променя формата на базата на коя опция в набор от етикета показва:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
- Сложна съвкупна функция за релация едно към много:
Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )
Следваща тема
В следващата тема ще добавите контрола Редактиране на формуляр за показване и редактиране на обобщение на каквато и да е поръчка, която потребителят избира в галерията, която току-що сте създали.
Бележка
Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)
Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).