Jak przechodzić między apkami?

W tym samouczku dowiesz się jak poruszać się pomiędzy dwoma apkami przy użyciu kroków akcji: uruchom apkę z jednym parametrem i otwórz url. Nauczysz się tego na podstawie dwóch apek: jedna będzie rejestrem godzin pracy, a w drugiej będzie można dodawać i edytować wpisy na temat godzin pracy.

1. Listy

1.1

Stwórz nową listę o nazwie REJESTR_GODZIN i dodaj w niej kolejno kolumny: ID, DATA, GODZINY, PROJEKT, UZYTKOWNIK, ROK i MIESIAC. Nadaj kolumnom typy jak na screenie poniżej i zapisz listę.

mceclip1.png

1.2 (Krok opcjonalny)

W liście SYSUSER dodaj kolumnę PRZELOZONY i uzupełnij ją dla użytkowników.

mceclip2.png

2. Apka z rejestrem godzin pracy

2.1

Stwórz nową apkę i nazwij ją REJESTR_GODZIN_PRACY. Dodaj w niej arkusz kalkulacyjny Uzytkownik. W pierwszej kolumnie wpisz w trzech kolejnych komórkach: Nazwa użytkownika, Identyfikator i Przełożony.

W komórce obok identyfikatora wpisz formułę =CURRENTUSERID(), formuła będzie zwracała użytkownika, który aktualnie edytuje apkę.

W komórce B1 i B3 wpisz formuły: =lookupvalue(sysuser,identifier=b2,name) i =lookupvalue(sysuser,identifier=b2,przelozony). W tych komórkach zostaną zwrócona nazwa i przełożony z tabeli sysuser dla aktualnego użytkownika.

mceclip3.png

2.2

Dodaj nową 5-kolumnową tabelę o nazwie rejestr i zmień nagłówki 3 kolumn na kolejno: Daty, Godziny pracy i Projekty. Powiąż sekcję z listą REJESTR_GODZIN, a kolumny z odpowiednimi kolumnami tak jak poniżej.

mceclip5.png

W tej sekcji będą się pojawiać dane na temat godzin pracy.

2.3

Stwórz kolejny arkusz o nazwie Miesiac z dwoma komórkami, w jednej wpisz aktualny miesiąc a w drugiej rok. Ustaw typ drugiej komórki na listę rozwijaną i w elementach wpisz =array('2019','2020','2021','2022') i ustaw tą komórkę na edytowalną. Dzięki temu użytkownik będzie mógł wybrać rok z listy rozwijanej. Dodaj dwa przyciski i ułóż je jeden po jednej stronie arkusza, a drugi po drugiej. W nagłówkach wpisz strzałki w odpowiednią stronę.

mceclip7.png

2.4

Stwórz dwa pomocnicze arkusze kalkulacyjne z ustawioną niewidocznością. Pierwszy z nich nazwij Miesiace i w jego kolumnie wypisz kolejno wszystkie nazwy miesięcy. Drugi arkusz nazwij pomocnicza_data. Będziesz w nim potrzebować tylko jednej komórki, zmień jej typ na data i używając formuły date podaj datę pierwszego dnia bieżącego miesiąca i roku.

mceclip0.png

2.5

Ustaw na przyciskach ze strzałkami dwie akcje "ustaw wartość w komórce".

Pierwsza akcja będzie służyła zmianie daty w pomocniczym arkuszu o miesiąc w tył (dla strzałki w lewo) lub do przodu (dla strzałki w prawo). Jako adres komórki podaj Pomocnicza_data.a1, a jako wartość formułę "addmonth(Pomocnicza_data.a1, 1)" (dla strzałki w prawo) lub "addmonth(Pomocnicza_data.a1,-1)" (dla strzałki w lewo).

Druga akcja będzie służyła wybraniu z kolumny arkusza miesiace nazwy miesiąca odpowiadającego dacie w pomocniczym arkuszu. W adresie komórki tej akcji, podaj Miesiac.a1, a w wartości formułę "nth(MIESIACE.A1:A12, month(POMOCNICZA_DATA.A1))".

mceclip1.png

Dzięki temu użytkownik będzie mógł zmieniać miesiąc w komórce przyciskami ze strzałkami.

2.6

Wróć się do tabeli i przejdź do jej zakładki właściwości. W opcji filtr dopisz do formuły lookup warunek: Uzytkownik=Uzytkownik.B2 && Rok=number(Miesiac.A2) && Miesiac=Miesiac.A1, tak jak poniżej.

mceclip9.png

Dzięki temu w tabeli pojawią godziny pracy w wybranym przez użytkownika miesiącu i roku.

3. Apka do tworzenia i edytowania godzin pracy

3.1

Stwórz nową apkę i nazwij ją ADDHOURS. Dodaj w niej arkusz kalkulacyjny o nazwie Do_uzupełnienia z dwoma kolumnami. W pierwszej kolumnie wypisz w komórkach: użytkownik, data, godziny i projekt tak jak poniżej. W komórce obok komórki z użytkownikiem wpisz formułę =currentuserid(). Pozostałym komórkom w drugiej kolumnie zmień typy na data, liczba i autouzupełnianie oraz ustaw je na edytowalne. 

mceclip10.png

W komórce B4 w elementach wpisz formułę =lookup(REJESTR_GODZIN,Projekt). Umożliwi to użytkownikowi wpisanie nowego projektu jak i wybranie go z listy REJESTR_GODZIN.

mceclip2.png

Dodaj widżet tekstu sformatowanego i wpisz w nim "Uzupełnij dane dotyczące godzin pracy".
W tym arkuszu użytkownik będzie mógł stworzyć lub zedytować informacje na temat godzin pracy.

3.2

Ponownie stwórz niewidoczny pomocniczy arkusz Miesiace, w którego kolumnie wypisz kolejno nazwy miesięcy.

Stwórz nowy arkusz kalkulacyjny o nazwie Dane, zmień jego widoczność na false, będzie to sekcja pomocnicza, której użytkownik nie powinien widzieć. W pierwszej kolumnie wypisz w komórkach wszystkie parametry godzin pracy (czyli wszystkie nazwy kolumn z listy REJESTR_GODZIN).

Do komórek obok komórek Użytkownik, Data, Godziny i Projekt ściągnij dane z odpowiednich komórek sekcji Do_uzupełnienia tak jak poniżej.

W komórce obok komórki Rok wpisz formułę =year(Do_uzupełnienia.B2). Formuła będzie zwracała rok z daty, którą wpisze użytkownik.

W komórce obok komórki miesiąc wpisz formułę "nth(MIESIACE.A1:A12, MONTH(Do_uzupełnienia.B2))"

Formuła month zwraca numer miesiąca z daty, którą poda użytkownik, a następnie z arkusza Miesiace zostaje wybrana odpowiednia nazwa miesiąca przy użyciu formuły nth.

mceclip3.png

W pierwszej komórce kolumny B będzie tworzony specyficzny identyfikator dla każdych godzin pracy przy użyciu formuły: =HASH(CONCAT(Do_uzupelnienia.B1,TEXT(Do_uzupelnienia.B2),Do_uzupelnienia.B4)).
Formuła Hash tworzy dla podanego tekstu unikalny ciąg znaków. W naszym przypadku Hash tworzy identyfikator z id użytkownika, daty i projektu.

Uwaga: Nie można w tym przypadku dla jednej daty wpisać dwóch różnych wpisów na temat godzin pracy dla tego samego projektu. Hash dla obydwu wpisów przypisałby ten sam identyfikator, przez co drugi wpis nadpisałby pierwszy.

3.3

Dla każdej komórki z kolumny B w zakładce właściwości uzupełnij Pole danych. W polu danych wpisuj nazwę listy REJESTR_GODZIN., a po kropce wpisuj nazwę kolumny listy dla odpowiedniego pola. Tak, więc dla komórki B1 w polu danych wpisz REJESTR_GODZIN.ID. 

mceclip0.png

Umożliwi to późniejsze zapisanie odpowiednich danych do listy przy użyciu kroku akcji zapisz do bazy.  

3.4

Stwórz przycisk akcji Workflow i przejdź do zakładki Workflow. Stwórz akcję Zapisz wychodzącą ze stanu startowego i wchodzącą do niego, tak jak poniżej.

mceclip1.png

Przejdź do właściwości tej akcji. W warunku wykonania wpisz formułę: =if(ISEMPTY(Do_uzupelnienia.B3)||isempty(Do_uzupelnienia.B4),false,true). W komunikacie błędu napisz 'Wypełnij pola projekt i godziny pracy'.

Jeśli komórka na wpisanie godzin lub projektu będzie pusta, akcja nie zostanie wykonana i pojawi się podany komunikat.

mceclip2.png

Dodaj dwa kroki akcji na tej akcji. Pierwszy - zapisz do bazy, jako sekcję podaj arkusz Dane, a jako listę REJESTR_GODZIN.

Drugi - Otwórz URL, w polu URL wpisz adres strony drugiej apki REJESTR_GODZIN_PRACY (adres możesz uzyskać kiedy apkę REJESTR_GODZIN_PRACY zapiszesz i dodasz się jako edytor, a następnie uruchomisz instancję apki i skopiujesz adres strony), jako target wpisz _self, sprawi to że URL otworzy się w tej karcie, w której jesteś.

Po naciśnięciu przycisku, dane z arkusza Dane zostaną zapisane do listy REJESTR_GODZIN i otworzy się apka REJESTR_GODZIN_PRACY.

3.5

W zakładce info apki ADDHOURS, dodaj jeden parametr wejściowy i nazwij go ID, a typ ustaw na Tekst. Przyda to się w następnych krokach.

mceclip3.png

4. Przekazywanie parametru wejściowego

4.1

Wróć do apki REJESTR_GODZIN_PRACY i dodaj przycisk o nagłówku Nowy. W akcjach dodaj akcję Uruchom apkę z jednym parametrem, jako nazwę apki podaj apkę ADDHOURS, jako nazwę parametru - ID, a target linku ustaw na _self.

mceclip4.png

Przycisk będzie służył do tworzenia nowego wpisu na temat godzin pracy. Po naciśnięciu użytkownik zostanie przeniesiony do apki ADDHOURS, w której będzie mógł uzupełnić dane na temat godzin pracy i je zapisać do bazy. Później użytkownik zostanie z powrotem przeniesiony do apki REJESTR_GODZIN_PRACY, w której tabeli będą ukazane dane stworzonego wpisu.

4.2

Wróć do kolumny D tabeli Rejestr i ustaw jej typ na link. Wpisz w niej formułę link. Jako pierwszy parametr formuły podaj napis 'Edytuj'. Jako drugi parametr wpisz formułę concat, w której jako argumenty podaj adres strony apki ADDHOURS, napis '&id=' oraz kolumnę E.  

mceclip5.png

Formuła link tworzy link do podanej strony i wyświetla podany tekst (w tym przypadku Edytuj). Formuła concat łączy podane teksty w jeden tekst. W tym przypadku tworzy ona adres url do apki ADDHOURS z parametrem ID równym wartości z kolumny E. Po naciśnięciu tego linku otworzy się druga apka i zostanie do niej przekazany parametr id o wartości id dla tych godzin pracy.

4.3

Przejdź z powrotem do designera apki ADDHOURS i powiąż arkusz Do_uzupełnienia z listą REJESTR_GODZIN. We właściwościach tego arkusza w filtrze dopisz do lookup warunek: id=input(id).

Kiedy użytkownik naciśnie edytuj, do apki ADDHOURS zostanie przekazany parametr z wartością ID dla tych godzin pracy. Formuła input zwraca wartość parametru wejściowego, więc dzięki niej w tym arkuszu pojawią się dane godzin pracy, które użytkownik chce zedytować.

mceclip7.pngmceclip6.png

W odpowiednie komórki wpisz = i nazwę kolumny, z której mają być brane dane tak jak powyżej. Dla komórki z datą wpisz formułę if, która będzie sprawdzać czy data jest pusta, jeśli tak zwróci dzisiejszą datę, jeśli nie zwróci datę dla edytowanych godzin pracy.

5. Test

Pamiętaj, żeby przed uruchomieniem aplikacji dodać się w obu jako twórca

5.1

Uruchom apkę REJESTR_GODZIN_PRACY. Powinieneś zobaczyć to co w screenie poniżej.

mceclip9.png

Przyciskami ze strzałkami powinieneś móc odpowiednio zmieniać miesiąc, a po naciśnięciu na rok wybrać rok z listy rozwijanej. Naciśnij przycisk Nowy.

5.2

Powinieneś zostać przeniesiony do apki ADDHOURS z częściowo pustym arkuszem. Spróbuj zapisać bez wypełniania pól - powinien się pojawić komunikat błędu. Wpisz ilość godzin i projekt (na razie w liście autouzupełniania nic nie ma, ale następnym razem powinien się w niej pojawić do wyboru projekt, który wpisałeś). Po wypełnieniu naciśnij przycisk zapisz. 

mceclip11.pngmceclip10.png

5.3

Powinieneś wrócić z powrotem do apki REJESTR_GODZIN_PRACY i w tabeli powinien się pojawić wpis z godzinami pracy, który przed chwilą stworzyłeś. W ten sposób możesz tworzyć kolejne wpisy na temat godzin pracy, a one będą się pojawiać w tabeli w odpowiednim roku i miesiącu.

mceclip12.png

Naciśnij Edytuj w kolumnie D.

5.4

Powinieneś zostać przeniesiony do apki ADDHOURS, a w arkuszu powinny widnieć dane tego wpisu, które możesz zmienić. Po zmianie, zapisz.

mceclip13.pngmceclip14.png

Powinieneś wrócić do apki REJESR_GODZIN_PRACY, a w tabeli powinien się pojawić poprawiony wpis.

Czy ten artykuł był pomocny?
Liczba użytkowników, którzy uważają ten artykuł za przydatny: 0 z 0
Masz więcej pytań? Wyślij zgłoszenie

0 Komentarze

Komentarze do artykułu są zablokowane.
Oparte na technologii Zendesk