Jedno tlačítko Uložit může zapisovat jednoduchý číselník, rozpracovaný servisní protokol i údaje z několika obrazovek. Na pohled podobná akce, technicky velmi rozdílné zadání. V Power Apps proto není důležité vybrat „lepší“ funkci obecně. Důležité je zvolit takový způsob ukládání, který odpovídá práci uživatele a neztratí přehled o výsledku, když se něco nepodaří.
Uživatel vyplní formulář, klikne a očekává dvě věci: že jeho práce zůstala uložená a že se dozví, pokud tomu tak není. Vývojář mezitím řeší validace, datové zdroje, rozpracované stavy a reakci na chybu. Je to jeden z těch okamžiků, kdy jednoduchost obrazovky stojí na poměrně promyšlené logice.
Power Apps nabízí mimo jiné ukládání prostřednictvím formuláře a funkce SubmitForm nebo přímější práci se záznamy pomocí Patch. Oba přístupy mají své místo. Není potřeba dělat z jednoduché evidence laboratorní experiment jen proto, že umíme napsat složitější výraz. Stejně tak nemá smysl nutit několik různých procesů do jednoho formuláře za každou cenu.
Když formulář odpovídá celé práci
Představme si správu seznamu pracovišť. Uživatel upravuje název, umístění a odpovědnou osobu. Všechna podstatná pole patří k jednomu záznamu a mají běžná pravidla. Formulář je pro takovou práci přirozenou volbou.
SubmitForm před odesláním kontroluje validitu formuláře a podle výsledku ukládání spouští odpovídající chování OnSuccess nebo OnFailure. Vývojář tak může navázat potvrzení, další krok i vysvětlení chyby na skutečný výsledek. To je důležitější než samotná délka vzorce pod tlačítkem.
Pokud aplikace přeskočí na obrazovku „hotovo“ dřív, než má výsledek potvrzený, může uživatele uklidnit neprávem. Správné pořadí akcí pomáhá předejít situaci, kdy se člověk o ztraceném záznamu dozví až ve chvíli, kdy ho potřebuje někdo další. Ukládání tedy není jen zápis. Je to i srozumitelná komunikace o jeho stavu.
Když jeden formulář přestává stačit
Jiná situace nastane u servisního protokolu. Technik postupuje po částech, průběžně doplňuje výsledky a potřebuje uložit rozpracovanou práci. Někdy mění jedinou hodnotu, jindy vytváří záznam bez klasického formuláře. Tady může Patch poskytnout vhodnější kontrolu nad tím, která pole se zapisují a kdy.
S větší volností však přichází větší odpovědnost za vlastní logiku. Je potřeba promyslet požadované hodnoty, ošetření chyb a návaznost dalších kroků. Vlastní ukládání není automaticky rychlejší nebo spolehlivější jen proto, že vypadá vývojářštěji. Tyto vlastnosti musí prokázat konkrétní implementace.
Zvlášť důležité je rozlišit několik samostatných zápisů od jedné společné operace. Pokud se uloží hlavička a potom selže přidání položek do dalšího systému, není celý případ dokončený. Aplikace potřebuje rozpracovaný stav, možnost pokračování nebo jiný způsob nápravy. Jedno společné tlačítko samo o sobě společný úspěch nezaručuje.
Uživatel má vědět, co už je v bezpečí
Dobře navržené ukládání nevymaže vyplněný obsah při první komplikaci. Ukáže, co se podařilo a co vyžaduje další krok. U vícekrokové práce může jasně odlišit koncept od finálně potvrzeného protokolu. Člověk pak nemusí tipovat, zda má znovu vyplnit všechno, nebo pouze doplnit chybějící část.
Při testování proto patří vedle běžného uložení i ztráta spojení, opakovaný stisk a změna záznamu jiným pracovníkem. Zajímá nás nejen hláška na obrazovce, ale také skutečný stav dat. Právě tam se pozná, zda návrh chrání uživatelskou práci i návazné procesy.
V Evenaut nevybíráme mezi formulářem a vlastním zápisem podle oblíbenosti konkrétní funkce. Rozhoduje, co má aplikace zajistit. Když zvolíme správnou cestu, uživatel nemusí nikdy zjistit, jestli za tlačítkem stojí Patch, nebo SubmitForm. Stačí, že výsledku může věřit.
Řešíte složitější formuláře a ukládání v Power Apps? Ozvěte se na customers@evenaut.com.