Edellisessä kirjoituksessani Hyvästi InfoPath, tervetuloa PowerApps! (Osa 2) esittelin SharePointin uutta muokattava lomake -toiminnallisuutta. Mikäli et ole lukenut sitä vielä niin tee se nyt. Tässä kirjoituksessa käydään läpi miten ensimmäisessä osassa esitelty PowerApps-toteutus on tehty.

PowerApps toteutus – Työntekijän nettiyhteyden tilaaminen

Aloitetaan luomalla muokattu lomake listan PowerApps-valikon alta.

Näyttökuva 2017-11-18 kello 11.03.10

PowerApps miettii hetken ja luo listan pohjalta sovelluksen.

Näyttökuva 2017-11-19 kello 15.18.29.png

Luotu sovellus toimii samalla lailla kuin SharePoint-listan vakiolomake. Tästä voi sitten lähteä haluamaansa suuntaan.

Aloitetaan tekemällä Flow-blogista löytyvän ohjeen mukaan omat näytöt:

  • uuden rivin luomiselle (CreateScreen)
  • rivin tietojen katselulle (ShowScreen)
  • rivin tietojen muokkaamiselle (EditScreen)

Näyttökuva 2017-11-19 kello 15.38.59

Ja sitten muokkaamaan. Pudotetaan aluksi uuden rivin lisäys -näytöltä kaikki ylimääräinen pois. Lisätään samalla lomakkeelle otsikko (Hakemus – netti).

Näyttökuva 2017-11-19 kello 15.40.30.png

Tietojen katselunäyttö vaatii jo enemmän tekemistä.

Lisätään ShowItemForm:iin CreatedBy (lomakkeen luoja) kohdalla näytettäviksi arvoiksi DisplayName sekä Picture. Piilotetaan lopuksi kyseinen kenttä varsinaiselta lomakkeelta asettamalla sen Visibile arvoksi off.

Näyttökuva 2017-11-19 kello 15.49.04.png

Lisätään lomakkeelle kuva (Insert – Media – Image) ja annetaan kuvan osoitteeksi Author_Image. Joka on juuri äsken lisäämämme CreatedBy-kentän (henkilö) Picture arvo (osoite henkilön profiilikuvaan). Monimutkaista? Älä huoli, tekemällä avautuu paremmin.

Nyt lomakkeella näkyy tilaajan kuva.

Näyttökuva 2017-11-19 kello 15.53.35.png

Logiikan rakentamisen helpottamiseksi muutetaan SharePoint listaa siten että jokaisella tilauksen tilalla on oma yes/no -tyyppinen kenttänsä:

  • New: yes/no
  • Approved: yes/no
  • Rejected yes/no
  • Ordered yes/no

Katselunäytöllä on leveä värillinen laatikko, joka kertoo käyttäjälle tilauksen tilan. Itseasiassa lomakkeella on jokaista tilaa varten samankokoinen laatikko samassa kohdassa. Laatikoiden näkyvyys määräytyy tilauksen tilan mukaan.

Kuvassa on näkyvillä ”Tilattu”-laatikko, jonka Visible-arvo on sama kuin Delivered_Yes_No -kontrollin arvo (= SharePoint listan Ordered-kenttä).

Näyttökuva 2017-11-19 kello 16.01.43

Miten Approve, Reject ja Mark as ordered -painikkeiden näkyvyyttä hallitaan? Painikkeen näkyvyys riippuu tilauksen tilasta. Esimerkiksi Approve-painike näkyy (Visible-arvo) ainoastaan mikäli kentät approved, rejected ja ordered sisältävät arvon false.

Näyttökuva 2017-11-19 kello 16.13.37

Muut painikkeet vastaavalla tavalla.

Tilauksen tilan vaihtamiseksi tarvitaan avuksi muuttujaa. Käyttäjän painaessa Approve-painiketta, asetetaan Approved-muuttujan arvoksi true.

Näyttökuva 2017-11-19 kello 16.16.10

Sillä on välitön vaikutus lomakkeen piilotettuun Approved-kenttään, joka saa arvonsa samaisesta Approved-muuttujasta.

Näyttökuva 2017-11-19 kello 16.17.38.png

Approve-painiketta painamalla tilauksen Approve-kentän arvoksi vaihtuu true ja lomake tallentuu.

Vastaavalla tavalla on toteutettu Reject ja Mark as ordered -painikkeet

Arvaatkin varmaan jo miten piilotetaan kenttiä tilauksen tekijältä. Vertaillaan onko nykyisen käyttäjän sähköpostiosoite eri kuin lomakkeen lähettäjän sähköpostiosoite. Vertailu asetetaan piilotettavan kentän Visible -arvoksi. Ja kas, kenttä katoaa näkyvistä mikäli tilausta katsoo sama henkilö kuin joka sen on alunperin lähettänyt.

Näyttökuva 2017-11-19 kello 16.24.30.png

Valmista!