Делите путем


Направите галерију поруџбина у апликацији подлоге

Пратите детаљна упутства да бисте креирали галерију поруџбина у апликацији подлоге за управљање фиктивним подацима у бази података Northwind Traders. Ова тема је део серије која објашњава како да направите пословну апликацију на релационим подацима у услузи Microsoft Dataverse. Да бисте постигли најбоље резултате, истражите ове теме у овом редоследу:

  1. Креирање галерије поруџбина (ова тема).
  2. Креирање обрасца резимеа.
  3. Креирање галерије детаља.

Дефиниција површина екрана.

Предуслови

Креирање празне апликације

Креирајте празну апликацију са подлогом и дајте јој име попут „Моје Northwind поруџбенице (апликација са подлогом)“.

Додавање података

  1. У левом окну изаберите Подаци > Додавање података > потражите и изаберите табелу Поруџбине.

    Изаберите Приказ, Извори података, Додај извор података.

    Табела Поруџбине садржи многа поља различитих врста:

    Списак поља у табели Поруџбине.

    Свако поље има Име за приказ и Име, које се понекад назива и логичним именом. Оба имена се односе на исту ствар. Уопште, користићете име за приказ када правите апликацију, али неки случајеви захтевају и загонетније Име, као што је наведено у процедури.

  2. Пошто ћемо радити са екранима и контролама следеће, у програму Power Apps Studio пребаците се на Приказ стабла на левој страни притиском на икону са три сложена квадрата. Можете се вратити на Извори података у било ком тренутку притиском на икону цилиндра.

  1. На картици Уметање изаберите Галерија > Празна усправна да бисте додали контролу Галерија, која ће приказивати поруџбине.

    Уметање, галерија, празна усправна.

    Контрола ће бити постављена на подлогу и појавиће се излазећи дијалог који вас пита са којим извором података желите да се повежете.

  2. Могли бисмо директно да га повежемо овде са Поруџбинама, али уместо тога желимо да контролишемо редослед сортирања галерије. Занемарите излазећи дијалог и у траци за формуле поставите својство Items галерије према овој формули:

    Sort( Orders, 'Order Number', Descending )
    

    Функција Sort распоређује листу тако да се прва прикаже нова поруџбина (који има највећи број поруџбине).

    Сортирање поруџбина у галерији.

  3. Након неколико тренутака, Приказ резултата ће се приказати испод траке за формуле. Повуците доле стрелицу на левој страни да бисте видели резултат наше формуле. Пређите на десну страну да бисте видели колону Број поруџбине и уверите се да је сортирана на начин који желите (од највише до најниже).

    Подешавање својстава ставки у галерији.

  4. На картици Својства близу десне ивице, отворите листу Распоред:

    Листа опција распореда.

  5. На листи опција изаберите Наслов и поднаслов:

    Изаберите распоред.

    Две контроле типа ознака додате су у предложак галерије. Подразумевано, ове контроле приказују две колоне табеле Поруџбине, које ћете следеће променити. Предложак галерије се реплицира вертикално за сваки запис у табели.

  6. Изаберите Уређуј (поред Поља) на картици Својства поред десне ивице.

    Изаберите уреди да бисте ажурирали поља.

  7. У окну Подаци, изаберите Title1 (или изаберите горњу ознаку у предлошку галерије).

  8. У траци за формуле подесите својство Text ознаке на овај израз:

    "Order " & ThisItem.'Order Number'
    

    Подесите својство Text ознаке.

    Број поруџбине се приказује на врху сваке ставке галерије. У предлошку галерије, ThisItem одобрава приступ свим пољима у табели Поруџбина.

  9. У окну Подаци, изаберите Subtitle1 (или изаберите доњу ознаку у предлошку галерије):

    Изаберите ознаку поднаслова.

  10. У траци за формуле подесите својство Text ознаке на овај израз:

    ThisItem.Customer.Company
    

    Подесите својство Text ознаке поднаслова.

    Када унесете ову формулу, на тренутак ће се можда приказати црвена грешка у витичастим заградама. Грешка би требало да се обрише ако изаберете било шта изван траке за формуле, а затим вратите курсор на траку за формуле. Ако се грешка и даље јавља или не видите вредност, изаберите картицу Приказ, изаберите Извори података, а затим освежите табелу Поруџбине избором три тачке (...) десно од назива извора података.

    Када наведете ThisItem.Customer, користите релацију више-према-један између табела Поруџбине и Клијенти и преузимате кориснички запис који је повезан са сваком поруџбином. Из записа клијента извлачите податке у колони Компанија за приказ.

    Можете приказати све релације из табеле Поруџбине са другим табелама, укључујући табелу Клијент:

    Листа релација.

  11. Затворите окно Подаци избором иконе затварања (x) у горњем десном углу.

Приказ статуса сваке поруџбине

У овом поступку, додаћете простор у галерији за ознаку и конфигурисаћете га тако да приказује статус сваке поруџбине у другој боји на основу података.

  1. У предлошку галерије, смањите ширину прве ознаке, Title1:

    Title1 у предлошку галерије.

  2. Поновите претходни корак са другом ознаком, Subtitle1:

    Subtitle1 у предлошку галерије.

  3. Са изабраним шаблоном галерије (или контролом у шаблону), изаберите Ознака на картици Уметање:

    Додавање ознаке.

  4. Померите нову ознаку надесно од ознаке Title1:

    Премештање и промена величине ознаке.

  5. Подесите својство Text нове ознаке на овај израз:

    ThisItem.'Order Status'
    

    Подесите својство Text.

    У табели Поруџбине, поље Статус поруџбине садржи вредност из избора Статус поруџбина. Избор је сличан набрајању у другим програмским алатима. Сваки скуп опција је дефинисан у бази података, тако да корисници могу навести само оне опције које се налазе у скупу. Избор Статус поруџбина је такође глобални, а не локални, тако да га можете користити у другим табелама:

    Избор статуса поруџбина.

    Свака опција у скупу има назив који се приказује ако га прикажете на ознаци. Ти називи се могу локализовати и апликација препознаје исту опцију без обзира на то да ли енглески корисник бира Apple, француски корисник бира Pomme или шпански корисник бира Manzana. Из тог разлога, не можете да креирате формулу која се ослања на директно кодирану ниску као опцију, као што се то касније показује у овој теми.

    У формулама морате окружити Статус поруџбине једноструким наводником, јер назив садржи размак. Међутим, тај назив функционише на исти начин као и било који други назив у услузи Power Apps, попут Клијент или Компанија.

  6. На картици Почетак повећајте величину слова ознаке статуса на 20 тачака и поравнајте текст удесно:

    Промените величину фонта и поравнање.

  7. У траци за формуле поставите својство Color ознаке статуса према овој формули:

    Switch( ThisItem.'Order Status',
        'Orders Status'.Closed, Green,
        'Orders Status'.New, Black,
        'Orders Status'.Invoiced, Blue,
        'Orders Status'.Shipped, Purple
    )
    

    Подесите својство Color ознаке статуса.

    Power Apps вас спречава да креирате формулу која се ослања на директно кодирану ниску за сваку опцију у скупу, јер такве формуле могу произвести непримерене резултате ако су имена опција локализована. Уместо тога, функција Switch одређује боју на основу ниске која се приказује у ознаци на основу корисничких поставки.

    Када је ова формула на месту, различите вредности статуса се приказују у различитим бојама, као што показује претходна слика.

Прикажите укупну вредност за сваку поруџбину

  1. Изаберите прву ставку у галерији, која је предложак галерије:

    Изаберите предложак галерије.

  2. На картици Уметање изаберите Ознака да бисте додали још једну ознаку:

    Додавање друге ознаке.

  3. Померите нову ознаку тако да се појављује испод ознаке статуса:

    Промените величину и преместите нову ознаку.

  4. У траци за формуле подесите својство Text нове ознаке према овој формули:

    Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
    

    Формула за израчунавање укупне цене поруџбине.

    У овој формули, функција Sum сабира записе у табели Детаљи поруџбине које су повезане са сваким записом у табели Поруџбина кроз релацију један-према-више. Ове ставке чине сваку поруџбину, а ви ћете користити исту релацију „један према више“ за приказивање и уређивање ставки у доњем десном делу екрана.

    Ова формула приказује плаву подвлаку и делегирано упозорење, јер Dataverse не подржава делегирање сложених агрегатних функција (на пример, збир умножака). Можете занемарити ову информацију јер ниједна поруџбина у овом примеру не садржи више од 500 ставки. Ако је потребно за другу апликацију, можете да повећати то ограничење у Подешавањима апликације.

    Функција Text у овој формули додаје симбол валуте и обликује резултат знаковима за раздвајање класа и децимала бројева. Као што је написано, формула укључује језичку ознаку за амерички енглески ([$-en-US]) и симбол долара ($). Ако уклоните језичку ознаку, она ће бити замењена једном на основу ваших језичких подешавања, а ознака ће приказати одговарајуће формате за ту ознаку. Ако оставите симбол долара, ознака ће приказати одговарајући симбол валуте на основу корисничких подешавања. Међутим, можете форсирати да се појави други симбол тако што ћете симбол долара заменити оним који желите.

  5. На картици Почетак, промените величину слова најновије ознаке на 20 тачака и поравнајте њен текст удесно:

    Промена величине фонта и поравнавање ознаке.

  6. Померите галерију уз леву ивицу екрана и смањите ширину галерије да бисте затворили део простора.

  7. Повећајте висину галерије тако да буде висока готово као екран, али оставите мало простора на врху за насловну траку, коју ћете додати на почетку следеће теме:

    Померите и промените величину галерије.

Резиме

Да резимирамо, почели сте да правите апликацију подлоге на једном екрану додавањем галерије поруџбина, која садржи ове елементе:

  • Израз који приказује броја поруџбине: "Orders " & ThisItem.OrderNumber
  • Поље у релацији „више према један“: ThisItem.Customer.Company
  • Ознака која приказује назив опције у скупу: ThisItem.'Order Status'
  • Ознака која мења формат на основу тога коју опцију у скупу ознака приказује: Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
  • Сложена агрегатна функција у релацији „један према више“: Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )

Следећа тема

У следећој теми, додаћете контролу Образац за измену да бисте приказали и уредили резиме без обзира на то коју поруџбину је корисник изабрао у галерији коју сте управо креирали.

Напомена

Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)

Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).