

Każdy korzystając z klasycznych aplikacji Microsoft 365 często wykonuje rutynowe działania – wręcz identyczne. Robiąc to setny raz marzy, aby można było raz gdzieś kliknąć i gotowe. I tak można! Ogólnie można to nazwać automatyzacją. Jednakże automatyzacja to dość szerokie pojęcie. Co zatem należy pod tym pojęciem rozumieć?
Automatyzacja
To wykorzystanie wszelkich narzędzi w danej aplikacji służących do tego, aby ograniczyć czynnik ludzki, aby scedować nasze obowiązki na aplikację, abyśmy to nie my musieli pamiętać co należy w określonych sytuacjach zrobić, tylko aplikacja ma o tym wiedzieć. Idealnym przykładem są formuły w Excelu lub style w Wordzie, czy reguły w Outlooku, a w PowerPoint wzorce. W Excelu, gdzie automatyzacja jest najbardziej potrzebna są jeszcze skrypty, język M w Power Query, język DAX z PowerPivot, Python zamiast formuł Excela.
Wykorzystanie oczywistych narzędzi i funkcji aplikacji do automatyzacji niesie ze sobą same korzyści, w rozumieniu zwiększenia pewności, skrócenia czasu, zminimalizowania ilości błędów. To bez wątpienia ważne zalety i cel. W wielu przypadkach zupełnie wystarczający. Odpowiednia formuła z właściwymi funkcjami może zaoszczędzić w większej skali czasu ogrom pracy, a zatem i pieniędzy, chociażby kosztu czasu pracy pracownika.
Aplikacje
Nie zawsze jednak można wszystko zautomatyzować korzystając jedynie z narzędzi i funkcji aplikacji. Dotyczy to wielu różnych czynności, które jako użytkownicy wykonujemy. Nie zautomatyzujemy w Excelu wstawiania wierszy za pomocą formuł, czy zmiany treści dokumentu stylami w Wordzie. Nie zautomatyzujemy wielu czynności, które dotyczą kilku aplikacji. Jest ogrom spraw, które narzędziami, czy funkcjami w aplikacjach nie zautomatyzujemy.
Wszystko co dotyczy automatyzacji narzędziami i funkcjami istnieje w warstwie użytkownika. Innymi słowy rzadko któreś z tych narzędzi pozwala na identyfikację użytkownika i ograniczenie jego możliwości ingerencji. Problemem zatem jest otwarcie pliku przez kogoś, kto ma niewystarczającą wiedzę, aby umiejętnie korzystać z tych narzędzi nawet, jeżeli inny użytkownik (z odpowiednimi umiejętnościami) przygotował ową automatyzację. Nieodpowiedni użytkownik łatwo może uszkodzić automatyzację, a to może prowadzić do katastrofalnych konsekwencji.
Biorąc pod uwagę powyższe należy sięgnąć po wyższy poziom automatyzacji: aplikacje. Tu przede wszystkim prym wiedzie Visual Basic for Application (VBA). Nie jest jedynym językiem, dzięki któremu możemy automatyzować procesy. Wspomniane wcześniej języki mają swoje wspaniałe właściwości, lecz bardzo ukierunkowane na konkretne zastosowanie i raczej są stosowane w automatyzacji, ale nie do tworzenia aplikacji. Najbardziej wszechstronnym, pozwalającym na zarządzanie wszystkim i sterowanie to nadal Visual Basic. Ma odpowiednie narzędzia do tworzenia własnego interface’u i dostęp do każdego narzędzia.
Dzięki VBA można stworzyć hermetyczne aplikacje, aby połączyć dwa cele: automatyzację i hermetyczność. Hermetyczność ma na celu ochronę aplikacji przed czynnikiem ludzkim – jego ingerencją nieświadomą i świadomą, a co za tym idzie na identyfikację użytkownika i określenie jego praw w aplikacji. Można na przykład automatycznie zidentyfikować użytkownika po loginie systemu Windows i przy otwieraniu pliku excelowego wyświetlić mu wybrane tylko arkusze, a do pozostałych zabezpieczyć dostęp.



Oszczędność czasu
Automatyzacja skraca czas wykonywania operacji, a czas to pieniądz, a więc również mniejszy koszt. Co prawda automatyzacja wymaga inwestycji: wykonania tej automatyzacji. Ten koszt włożony w wykonanie automatyzacji – czy to w postaci czasu, w którym tworzy się automatyzację, czy w postaci pieniądza wydanego na zlecenie wykonania automatyzacji – przynosi zysk w dłuższej perspektywie czasu. Ten zysk czasowy, a więc mniejsze koszty pracy mogą być naprawdę duże, liczone w etatach.

Większa wydajność pracy
Nieistotne, czy wykonujemy różne operacje sami, czy chodzi o pracowników chcemy, aby praca była wydajna. Pracownicy bardzo często marnują czas na wykonywanie czynności, które co prawda są istotne dla całego procesu, ale niewymagające wiedzy, zbytniego myślenia, czy intelektu. Marnują się wysokie kwalifikacje tych pracowników, którzy w tym samym czasie mogliby robić ważniejsze rzeczy. Pracodawca płaci wynagrodzenie wysoko wykwalifikowanym pracownikom, którzy marnują swój potencjał na rzeczy, które w ogóle tej fachowości nie wymagają.
Automatyzacja likwiduje ten problem. Wszystkie te czynności może wykonać automat, a pracownik może wykorzystać pełny czas na sprawy, które faktycznie są jego zadaniem. Dla pracodawcy jest to ogromny zysk!

Utrwalenie procedur
Najłatwiej automatyzować procesy, które już są opracowane jako procedury, będące wzorcem do algorytmu. Są również operacje, których procedury powstają w sposób naturalny. Nie są oficjalnie opracowane, ale każdy wie (lub powinien wiedzieć) co zrobić, aby osiągnąć właściwy cel w jakimś działaniu. Przekazuje się te nieoficjalne procedury pomiędzy pracownikami, a że nie są opisane, to często realizowane nierzetelnie, w niepełnym stopniu, z pominiętymi krokami, itd. Na dodatek pracownicy chodzą na urlopy, bywają na L4, następuje ich rotacja. Każdemu nowemu pracownikowi trzeba na nowo wszystko wyjaśniać.
Automatyzacja niweluje tego typu problemy: unika się błędów, oszczędza czas na ciągłe wyjaśnienia i przekazywanie informacji. Ostatecznie firma zyskuje na tym duże oszczędności!

Minimalizowanie ilości błędów
Człowiek jest istotą omylną. Każdy popełnia błędy. Nie da się tego uniknąć, jeżeli czynności wykonuje człowiek. Oczywiście są operacje, w których inteligencja i właściwe doświadczenie człowieka są nieodzowne i tymi sprawami powinien zajmować się człowiek. Resztę czynności, których procedury człowiek stworzył, ale do ich wykonania nie jest potrzebny może wykonać automat. Dzięki temu ilość błędów w znaczący sposób maleje. Jeżeli jakieś wystąpią, to są to błędy systematyczne, które łatwiej wykryć i poprawić.

Bezpieczeństwo danych
Myśląc o błędach występujących przy ręcznej pracy, najczęściej myśli się o błędach, które pojawiają się od razu i dzięki temu można je od razu poprawiać i usuwać. Możliwe, że tego typu błędów jest najwięcej, ale czasem wystarczy jeden, ale taki, którego nie zauważymy, a konsekwencje mogą być katastrofalne. Istnienie niepoprawnych danych, to brak poprawnych danych – niczym się nie różni od utraty danych spowodowanej ich usunięciem. Dane zatem nie są bezpieczne przy ręcznej pracy.
Dane bardzo często są wrażliwe. Nieistotne z jakiego powodu, jednak dostęp do nich mogą mieć tylko wybrane osoby, aby dane były bezpieczne. To oczywiste sprawy.
Automatyzacja jako aplikacja zapewnia bezpieczeństwo danych. Raz dzięki testowaniu aplikacji w celu wychwycenia błędów, a drugi raz ograniczając dostęp niepowołanych osób.


Koszty szkolenia
Wiedza i doświadczenie potrzebne do tego, by tworzyć automatyzacje i aplikacje wymaga nie tylko wiele wysiłku, ale i przede wszystkim czasu. Szkolenie pracowników Firmy w tym celu jest czasochłonne i – co za tym idzie – kosztowne, a aplikacje w Firmie są często potrzebne „na już”. Nie wystarczą do tego dwa lub trzy szkolenia na coraz wyższych poziomach. Koszty szkolenia pracowników w celu tworzenia przez nich automatyzacji i aplikacji znacznie przekraczają kwoty za zlecenie tych działań firmie Horn Net Jednicki.

Krótkie terminy
W wielu przypadkach potrzeba stworzenia automatyzacji pojawia się stosunkowo nagle. Termin realizacji takiej aplikacji jest zazwyczaj dość krótki, aby miało sens w ogóle ją tworzyć. Nawet jeżeli termin jest możliwy do wydłużenia, to każdy dzień zmniejsza sens jej tworzenia. Im dłużej czeka się z decyzją o realizacji aplikacji, tym zysk wynikający ze skrócenia czasu wykonywania tych operacji ręcznie w skali czasu maleje. Po prostu nie warto czekać.
Zlecenie wykonania aplikacji pracownikowi powoduje, że czas realizacji jest znacznie wydłużony. Pracownik musi dzielić swój czas służbowy pomiędzy dotychczasowe i główne obowiązki, a kodowaniem aplikacji. Bardzo rzadko w firmach są pracownicy, którzy są zatrudnieniu właśnie w celu automatyzacji procesów.
Dlatego jest to kolejny argument za tym, aby zlecić wykonanie automatyzacji lub aplikacji firmie zewnętrznej Horn Net Jednicki. Zrobimy to znacznie szybciej i taniej niż koszt pracownika.

Brak na rynku produktów spełniających 100% potrzeb
Firmy wydają duże pieniądze na różne systemy informatyczne, które są oczywiście niezbędne do funkcjonowania firmy. Okazuje się jednak, że żaden system ostatecznie nie zaspokaja wszystkich potrzeb. Producenci oprogramowania wiedząc o tym dają w systemach możliwość eksportowania danych. Jednak po eksporcie pracownik zostaje z tym danymi sam na sam.
Tym sposobem wracamy na początek problemu. Nasze doświadczenie wskazuje, że firmy mając nawet dedykowane systemy muszą we własnym zakresie tworzyć (głównie ręcznie) różnego rodzaju raporty. Przykładem może być pewna europejska korporacja zatrudniająca ponad 1000 pracowników, która ma drogi system do zarządzania szkoleniami tych pracowników. Zleciła jednak naszej Firmie stworzenie dwóch aplikacji do raportowania realizacji tych szkoleń. Pierwszym powodem był zupełny brak takiego raportu w systemie, a drugim struktura i funkcjonalność takiego raportu, która była im potrzebna.

Gwarancja
Nie bez znaczenia jest również kwestia gwarancji. Jeżeli wydelegujemy pracownika do stworzenia automatyzacji lub kodowania aplikacji, a popełni błędy, to również on musi je naprawić. Zatem firma ponosi koszty naprawy błędów. W przypadku zlecenia automatyzacji, czy aplikacji naszej Firmie Horn Net Jednicki, to w przypadku wystąpienia błędów (o ile wystąpią, gdyż dobrze testujemy swoje oprogramowanie) koszt ich naprawy ponosimy my, gdyż udzielamy gwarancji na poprawne funkcjonowanie naszego oprogramowania.

Skalowalność, elastyczność i możliwość edycji
Nasza Firma zajmuje się programowaniem automatyzacji i aplikacji bazujących na Microsoft 365 wykorzystując wszelkie możliwości tego systemu w zakresie programowania. Wszelkie języki używane w tym celu należą do grupy interpreterów, a to oznacza, że wykonywalny jest tekstowy kod programu. Aplikacje napisane w ten sposób nie są przeznaczone do uruchamiania w systemach operacyjnych, tylko w aplikacjach systemu Microsoft 365. Wynikają z tego ogromne zalety zważywszy na przeznaczenie tworzonych aplikacji:
- skalowalność, czy łatwość dostosowania w każdym momencie kodu do potrzeb ilości danych, użytkowników, itp.
- elastyczność, która umożliwia dostosowanie kodu do zmieniających się warunków i założeń
- a to wszystko dzięki możliwości edycji kodu na bieżąco

Platforma: Microsoft Excel
Liczba stanowisk: 1
Możliwość pracy jednoczesnej: nie dotyczy
Aplikacja Ubrania robocze ma na celu zarządzanie przyznanymi pracownikom elementami odzieży ochronnej. Została stworzona na zlecenie Klienta wg jego konkretnych założeń. Jednak jest zgodna – aby miała w ogóle sens – z przepisami prawa. Dlatego bardzo łatwo można ją wdrożyć w każdej firmie.

Podstawowe funkcje aplikacji:
- baza pracowników wraz z informacją o etacie i stanowisku
- baza rodzajów elementów odzieży ochronnej z informacją o rodzaju i czasie maksymalnego zużycia
- baza zakupionych elementów odzieży ochronnej z numerem faktury powiązana z bazą rodzajów elementów oraz informacją o procencie zużycia, datą przydziału i datą ważności i liczbą dni użycia
- zasadnicza część aplikacji łącząca wszystkie części: przydział odzieży ochronnej (jak na obrazie powyżej)
- aplikacja przy tworzeniu przydziału pracownikowi elementu ubrania roboczego uwzględnia rodzaj stanowiska i pozwala mu przydzielić tylko taką odzież ochronną jaką można mu przydzielić oraz wyświetla tylko listę tych elementów, które są zakupione i wolne (nie używane przez innych pracowników)
- aplikacja uniemożliwia edycję tych komórek, których wartości są pobierane z innej bazy lub wyliczane
- użytkownik wprowadza tylko dane wejściowe
- aplikacja obliczając procent zużycia odzieży ochronnej uwzględnia wszystkie potrzebne kwestie: wielkość etatu pracownika, przerwy w jego pracy, czy element odzieży ochronnej może być przekazany innemu pracownikowi, czy nie; jeżeli tak, uwzględnia warunki u każdego pracownika indywidualnie
- aplikacja pokazuje alerty ostrzegawcze o zbliżającym się końcu ważności elementu odzieży ochronnej za pomocą dwóch rodzajów alertu
- w opcjach można określać który alert ma być wyświetlany przy jakim zużyciu i jakim kolorem







Platforma: Microsoft Access
Liczba stanowisk: nieograniczona
Możliwość pracy jednoczesnej: brak ze względu na założenia
Celem aplikacji Konwersja kont jest konwersja planu kont księgowości w Spółce działającej na terenie Polski, na plan kont Spółki Matki mieszczącej się w Niemczech.
Firma ma wiele oddziałów w Polsce i ogromną ilość budów (miejsc powstawania kosztów) oraz zatrudnia bardzo wielu pracowników. Co miesiąc pracownicy Działu Controlingu muszą tworzyć sprawozdanie finansowe do Spółki Matki. Plany kont różnią się w bardzo znaczący sposób. Algorytm zamiany planu kont polskiego na niemiecki jest bardzo skomplikowany. Aplikacja wygląda dość niepozornie, ale struktura plików wejściowych z planem kont i algorytm ich przetwarzania jest ogromnie skomplikowany.
W aplikacji importuje się dane księgowe pochodzące z plików excelowych i tekstowych .csv będących wynikiem eksportu tych danych z systemu księgowego. Następnie wystarczy wykonać eksport danych z aplikacji do pliku tekstowego .csv, który jest zgodny ze strukturą systemu niemieckiego i tam go zaimportować.
W aplikacji można ręcznie modyfikować ustawienia i niektóre dane zewnętrzne, których brak w systemie księgowym.

Podstawowe funkcje aplikacji:
- konwersja planu kont w polskiej firmie na plan kont niemieckiej firmy dla raportu finansowego
- importowanie pliku mapującego konta
- importowanie księgowań
- ręczne wprowadzanie kilku danych między innymi kursów walut
- eksport danych w strukturze systemu księgowego niemieckiej firmy
- zabezpieczenie przed dostępem osób niepowołanych



Platforma: Microsoft Access
Liczba stanowisk: nieograniczona
Możliwość pracy jednoczesnej: tak
Celem aplikacji jest zebranie danych finansowych, a następnie utworzenie szeregu różnych zdefiniowanych raportów.
Dane przede wszystkim importuje się z plików Excela, które są wynikiem eksportu tych danych z różnych systemów finansowych w firmie .
Niektóre dane wprowadza się ręcznie. Wszystkie możliwe dane można edytować ręcznie.
Na podstawie wszystkich danych można tworzyć raporty, a ich wyniki eksportować do Excela.
Aplikacja wielostanowiskowa. Dane znajdują się na serwerze, a każdy użytkownik uruchamia własną kopię aplikacji.
Dane synchronizują się w czasie rzeczywistym.
Aplikacja jest w pełni zabezpieczona przed dostępem osób niepowołanych.
Użytkownicy mają różne uprawnienia, które administrator aplikacji może dowolnie zmieniać.

Podstawowe funkcje aplikacji:
- tworzenie raportów finansowych
- importowanie danych
- ręczne wprowadzanie wybranych danych
- eksport raportów do Excela
- zabezpieczenie przed dostępem osób niepowołanych


