Podpis na obrazovke v Power Apps

Podpis na obrazovke v Power Apps
Power Apps je vynikajúci nástroj na vytváranie mobilných aplikácií, v ktorých si zákazník môže prezerať informácie (napríklad objednávku alebo servisný list) na tablete či smartfóne a na záver poskytnúť svoj podpis perom alebo prstom. 
Vloženie ovládača vstupu perom (pen input) do aplikácie Power Apps je pomerne jednoduché, ale upraviť možnosti a hlavne odoslať obrázok s podpisom na SharePoint prípadne vygenerovať PDF dokument v Power Automate je už náročnejšie. Poďme si to vysvetliť.

Power Apps aplikácie žeriavy a Eshop

Problematiku podpisovania priamo na stretnutí s klientom alebo pri servisnom zásahu na stavbe, v hale, v dieľni (kdekoľvek) sme riešili aj v našich aplikáciách žeriavy a Eshop. Potom, čo zákazník podpíše objednávku, zmluvu alebo servisný protokol na mobilnom zariadení stylusom alebo prstom, sa podpis odošle precedúrou v Power Automate na SharePoint spolu s ďalšími podrobnosťami (objednaný tovar, množstvo, dátum a podobne).
Prvým krokom pri ukázaní vyplneného formulára klientovi je uloženie do kolekcie Power Apps a uzamknutie formulára, teda nemožnosť zmeniť vypísané údaje. Uzamknutie sa udeje nastavením premennej prmZobrazPodpisy3 na hodnotu true.
ClearCollect( colServisnyProtokol;
    { ID_projektu: BrowseGallery_Projekty.Selected.ID; 
      ID_zAPP: varID_zAPP_SP;
      Firma: If( prmComboBox_Firma3 = true;
            Concat( ComboBox_Firma_2.SelectedItems; Firma; "");
            BrowseGallery_Projekty.Selected.ZakFirma);
        KontakOsoba: If( prmComboBox_Firma3 = true;
            Concat( ComboBox_Firma_2.SelectedItems;
                KontaktnaOsoba; "");
            BrowseGallery_Projekty.Selected.ZakKontaktOsoba);
        ID_zakaznika: Value(lblZakID_2.Text);
        TypStroje: BrowseGallery_Projekty.Selected.TypZeriava;
        RokVyroby: BrowseGallery_Projekty.Selected.RokVyroby;
        EvidencCislo: BrowseGallery_Projekty.Selected.VyrobneCislo;
        StatusZeriavu: BrowseGallery_Projekty.Selected.status_zeriavu;
        HlasenaZavada: TextInput_HlasenaZavada.Text;
        ZistenaZavada: TextInput_ZistenaZavada.Text;
        NavrhOpravy: TextInput_NavrhOpravy.Text;
        ServisnyTechnik: Concat(
            ComboBox_ServisnyTechnik.SelectedItems;
            Technik; "");
        DruhProhlidky: Concat(
            ComboBox_DruhProhlidky.SelectedItems;
            DruhProhlidky; "");
        Foto: Radio5.Selected.volba;
        Foto_dovod: TextInput_FotoDovod.Text;
        FotoAdresar_zAPP: varFoto_zAPP2;
        VMeste: TextInput_VMeste_2.Text;
        Datum: DatePicker_Datum_2.SelectedDate;
        MenoVeducehoTechnika: Concat(
            ComboBox_MenoVeducehoTechnika_2.SelectedItems;
            Technik; "");
        MenoZodpZastupcuNaStavbe: TextInput_MenoZodpZastupcuNaStavbe_2.Text;
        Email_kopia: TextInput_KopiaEmail_2.Text});;
Set( prmZobrazPodpisy3; true)

Servisný protokol vypĺňaný na stavbe

Servisný protokol vypĺňaný na stavbe

Podpísanie servisného protokolu na stavbe

Podpísanie servisného protokolu na stavbe

Finálny PDF servisný protokol (ukážka)

Finálny PDF servisný protokol (ukážka)

Odoslanie dát a podpisov na Sharepoint

Po získaní podpisu od klienta, nastavíme funkciu OnSelect (napríklad pre tlačítko) nasledovne:
// Uložíme data na SharePoint - Servisny Protokol
ForAll(
    colServisnyProtokol;
    Patch(
        tbl_ServisnyProtokol;
        Defaults(tbl_ServisnyProtokol);
        { Druh_Prohlidky: DruhProhlidky;
            ID_projektu: ID_projektu;
            ID_zAPP: ID_zAPP;
            Firma: Firma;
            KontaktnaOsoba: KontakOsoba;
            Adresa: Adresa;
            PSČ: PSC;
            Mesto: Mesto;
            Telefon: Telefon;
            Email: Email;
            TypStroja: TypStroje;
            RokVyroby: RokVyroby;
            EvidencneCislo: EvidencCislo;
            Status_stroja: StatusZeriavu;
            HlasenaZavada: HlasenaZavada;
            ZistenaZavada: ZistenaZavada;
            NavrhOpravy: NavrhOpravy;
            ServisnyTechnik: ServisnyTechnik;
            Foto: Foto;
            Foto_dovod: Foto_dovod;
            FotoAdresar_zAPP: FotoAdresar_zAPP;
            VMeste: VMeste;
            Datum: Datum;
            MenoVeducehoTechnika: MenoVeducehoTechnika;
            MenoZodpZastupcuNaStavbe: MenoZodpZastupcuNaStavbe;
            Email_kopia: Email_kopia}));;

// Uložíme dáta na SharePoint - ZistenéZávady
ForAll(
    colZisteneZavady;
    Patch(
        tbl_ZisteneZavady;
        Defaults(tbl_ZisteneZavady);
        { ID_Zeriavu: ID_Zeriavu;
        ID_zAPP: ID_zAPP;
        EvidencneCislo: EvidencneCislo;
        ZistenaZavada: ZistenaZavada}));;

// Odošleme na SharePoint podpis klienta
Set( varJson;
    JSON(
        PenInput_ZastupcaNaStavbe_2.Image;
        JSONFormat.IncludeBinaryData));;
Set( varJson;
    Mid(
        varJson;
        24;
        Len(varJson) - 24));;
PenInputtoSP_v2.Run(
    varJson;
    BrowseGallery_Projekty.Selected.ID_projektu & "_" & Gallery_colServisnyProtokol.Selected.ID_zAPP.Text & "_ZastupcaNaStavbe_ser.jpg");;
Reset(PenInput_ZastupcaNaStavbe_2);;
Set( varJson; "");;

// Hláška
Notify( "Proces byl spuštěn, počkejte na email..."; NotificationType.Success);;

// Vymažem premenné
Set( varFoto_zAPP; "");;
Set(varID_zAPP_SP;"");;

// Vymažeme kolekciu
Clear(colServisnyProtokol);;

// Resetneme ovládacie prvky
Reset(ComboBox_Firma_2);;
Reset(TextInput_HlasenaZavada);;
Reset(TextInput_ZistenaZavada);;
Reset(TextInput_NavrhOpravy);;
Reset(ComboBox_ServisnyTechnik);;
Reset(Radio5);;
Reset(TextInput_FotoDovod);;
Reset(TextInput_VMeste_2);;
Reset(DatePicker_Datum_2);;
Reset(ComboBox_MenoVeducehoTechnika_2);;
Reset(TextInput_MenoZodpZastupcuNaStavbe_2);;
Reset(PenInput_VeduciTechnik_2);;
Reset(PenInput_ZastupcaNaStavbe_2);;
Reset(TextInput_KopiaEmail_2);;
Reset(ComboBox_DruhProhlidky);;
Reset(TextInput_ZistenaZavada);;
Clear(colZisteneZavady);;

// Zmeníme obrazovku
Navigate( BrowseScreen_Projekty; ScreenTransition.UnCoverRight)

Proces v Power Automate

Určite ste si všimli, že po odoslaní nastalo aj vyčistenie fromulárov a premenných, odoslanie notifikácie a zmena obrazovky, skrátka bežné veci pre maximálny komfort a príjemný pocit z appky pre užívateľa. Odoslaním sa spustil automatický proces v Power Automate, ktorý vytvorí dokument, napríklad servisný protokol, vloží do neho všetky potrebné údaje o stroji, jeho závadách, navrhnutých opravách, objednaných náhradných dieloch a tak podobne vrátane podpisu od klienta a celý dokument vygeneruje do PDF, uloží v SharePointe a odošle klientovi na email.
Proces v Power Automate

_Power Apps | najlepší online kurz:

Power Apps - moja prvá appka

Power Apps je úžasná cloudová služba v prostredí Microsoft 365, kde vás veľmi rýchlo naučíme vytvárať jednoducho skvelé, moderné firemné aplikácie bez nutnosti programovania, iba klikaním myškou a/alebo písaním vzorcov podobným spôsobom ako v Exceli. Vaše mobilné aplikácie budú rovnako fungovať na počítačoch, tabletoch aj smartfónoch a na operačných systémoch Windows, iOS alebo Android.

Najlepší online kurz Power Apps - moja prvá appka je zameraný priamo na tvorbu mobilných aplikácií v cloudovom prostredí Microsoft 365. Dozviete sa, ako rýchlo appku vytvoriť, ako všetko potrebné nastaviť a čo znamenajú jednotlivé možnosti vrátane ich použitia.

najlepší online kurz
  • doživotný prístup
  • bez obmedzení
  • konzultácia s lektorom

Páčil sa vám tento článok alebo máte otázku?

Ak sa vám článok páčil, ohodnoťte ho v úvodnej (hornej) časti. Ak máte nejaké otázky k podpisu na obrazovke v Power Apps, napíšte nám.
#PowerAppsSK   #SoftverNaMieru   #PowerApps

Máte pre nás nový projekt?

Power Apps najlepší online kurz:

moja prvá appka

Power Apps je úžasná cloudová služba v prostredí Microsoft 365, kde vás veľmi rýchlo naučíme vytvárať jednoducho skvelé, moderné firemné aplikácie bez nutnosti programovania, iba klikaním myškou a/alebo písaním vzorcov podobným spôsobom ako v Exceli. Vaše mobilné aplikácie budú rovnako fungovať na počítačoch, tabletoch aj smartfónoch a na operačných systémoch Windows, iOS alebo Android.

Žiadne zbytočné akademické koncepty a poučky, len praktické lekcie zo skutočnej praxe a tvorby mobilných aplikácií pre klientov.