Skrzynka zadań

W zakładce Skrzynka zadań dostępne są 3 aktywności.

Kategoria aktywności Skrzynka zadań

Stwórz hiperłącze

Za pomocą tej aktywności istnieje możliwość stworzenia linku do obiektu biznesowego, który można potem wykorzystać np. podczas wysyłania informacji do użytkownika. Z poziomu skrzynki zadań, za pomocą tego odnośnika można otworzyć formularz obiektu.

Aktywność Stwórz hiperłącze

Wyślij decyzję

Ta aktywność wstrzymuje działanie procesu i wysyła do operatora i/lub grupy operatorów wiadomość o konieczności podjęcia decyzji. Działanie procesu będzie kontynuowane po wybraniu przez użytkownika jednej z opcji w skrzynce zadań.

Aktywność Wyślij decyzję

Przykładowa decyzja widoczna w skrzynce zadań

Wyślij informację

Aktywność pozwala wysłać informację do skrzynki zadań konkretnego operatora, operatorów lub grup operatorów. W przeciwieństwie do aktywności Wyślij decyzję, akcja nie powoduje wstrzymania procesu i nie wymaga podjęcia działań przez operatora.

Aktywność Wyślij informację

Po wybraniu przycisku [] otworzy się okno umożliwiające edytowanie treści wiadomości, adresatów, tytułu. W tym oknie można również dodać załączniki do wysyłanej informacji.

Edycja informacji

Po wybraniu przycisku [] znajdującego się obok opisu informacji pojawia się okno edycji treści wiadomości. Edytor HTML pozwala na wykonywanie podstawowych zmian wizualnych tekstu, takich jak: wybór kroju, rozmiaru i koloru czcionki, pogrubienie, podkreślenie, ustawienie kursywy tekstu, tworzenie wypunktowanych list oraz tabel, wstawianie hiperłączy oraz obrazów. Umożliwia również przełączenie się na widok kodu źródłowego (HTML) w celu ręcznej edycji (przycisk oznaczony czerwoną ramką na rysunku poniżej), w przypadku gdy podstawowe funkcje edytora będą niewystarczające.

Edycja treści informacji

Po przejściu na tryb ręcznej edycji kodu HTML możliwe jest dowolne użycie znaczników zgodnych ze standardem HTML, CSS obsługiwanym przez przeglądarkę Internet Explorer. Arkusze stylów powinny być definiowane bezpośrednio w kodzie lub opcjonalnie mogą być importowane z zewnętrznych źródeł WWW.

Po prawej stronie znajdują się przyciski służące do dodawania zmiennych i hiperłączy do obiektów biznesowych. Po wybraniu zmiennej lub hiperłącza treść zostanie dodana automatycznie w odpowiednich klamrach.

Wskazówka

Istnieje możliwość zawierania wyrażeń .NET w treści wiadomości. Przykład użycia instrukcji if:

@{if(SalesInvoice.IsNullOrDBNull,”Nie udało się wygenerować faktury sprzedaży”,”Wygenerowana została faktura sprzedaży „+SalesInvoice.Numerator.Text)}

Do tworzenia wiadomości można też używać skryptów JavaScript.

Podstawowe informacje dotyczące pisania wyrażeń za pomocą składni Visual Basic .NET zostały zawarte w artykule Podstawowe elementy składni Visual Basic .NET.

 




E-mail

W kategorii E-mail znajdują się 3 aktywności.

Aktywności w kategorii E-mail

Stwórz listę załączników

Aktywność pozwala na zainicjowanie listy załączników. Do listy można dodać załączniki, a następnie wysłać ją za pomocą wiadomości e-mail.

Aktywność Stwórz listę załączników

Stwórz załącznik

Pozwala stworzyć nowy załącznik, który po dodaniu do listy załączników może być wysyłany w wiadomości e-mail. Aby stworzyć załącznik należy podać nazwę, dane załącznika oraz wcześniej stworzoną listę, do której załącznik zostanie dodany.

Aktywność Stwórz załącznik

Wyślij e-mail

Za pomocą tej aktywności można wysłać wiadomości e-mail na podane adresy. Treść wiadomości można edytować za pomocą edytora HTML, analogicznie jak w przypadku informacji i decyzji. Polem obowiązkowym do wypełnienia jest pole tekstowe Do. W zakładce Zaawansowane istnieje możliwość dodania załączników, ustawienia języka i nadawcy oraz użycie lokalnej konfiguracji SMTP.

Aktywność Wyślij e-mail

Zaawansowane ustawienia wiadomości e-mail




Aktywności SQL

Kategoria Aktywności SQL zawiera aktywności wykonujące operacje bezpośrednio na bazie danych.

Kategoria Aktywności SQL

Stwórz adapter wiersza

Aktywność służy do tworzenia obiektu SqlRecordAdapter z obiektu IDataReader, co pozwala na łatwiejsze analizowanie wyników zapytania SQL.

Aktywność Stwórz adapter wiersza

Wykonaj poza transakcją

Użycie tej aktywności powoduje, że wszystkie operacje wewnątrz niej są wykonywane poza transakcją, co oznacza, że w przypadku błędu wykonywania w bazie danych zostanie zapisany dotychczasowy stan obiektów, żadne zmiany nie zostaną cofnięte.

Aktywność Wykonaj poza transakcją

Wskazówka

Jeżeli proces globalny uruchamiany jest z procesu lokalnego, należy aktywność Uruchom proces BPM umieścić w aktywności Wykonaj poza transakcją.

Wykonaj SQL

Aktywność pozwala wykonać zapytanie SQL na bazie firmowej, z której uruchamiany jest proces. Do zapytania można przekazać parametry wejściowe oraz pobrać dane do zmiennych za pomocą parametrów wyjściowych.

Aktywność Wykonaj SQL

Parametry aktywności Wykonaj SQL

Wykonaj w transakcji

Użycie tej aktywności powoduje otwarcie wewnętrznej transakcji w istniejącej już transakcji procesu BPM. Zmiany wprowadzone tą aktywnością na bazie danych zostaną wycofane w przypadku wystąpienia błędu (wyjątku) w trakcie jej wykonywania.

Aktywność Wykonaj w transakcji

Wykonaj zapytanie SQL

Aktywność pozwala wykonać zapytanie SQL analogicznie do Wykonaj SQL. Dodatkowo dla każdego wiersza zwróconego przez zapytanie można definiować określone operacje.

Aktywność Wykonaj zapytanie SQL

Wykonaj zapytanie SQL<T>

Aktywność oprócz funkcji opisanych dla Wykonaj zapytanie SQL umożliwia tworzenie listy obiektów podanego typu i dodanie do niej obiektów na podstawie wierszy będących wynikiem zapytania SQL.

Aktywność Wykonaj zapytanie SQL<T>

 




Podprocesy

Grupa Podprocesy zawiera aktywności odpowiadające za powiązanie tworzonego procesu z innymi procesami dostępnymi w bazie danych.

Kategoria aktywności Podprocesy

Kopiowanie procesu

Aktywność dodaje edytowalną kopię procesu z biblioteki procesów. Podczas dodawania aktywności użytkownik musi wskazać proces, który ma zostać dodany.

Import procesu podczas dodawania aktywności Kopiowanie procesu

W oknie aktywności można ustawić parametry wejściowe procesu oraz podejrzeć i edytować jego definicję.

Aktywność Kopiowanie procesu

Uwaga

Aktywność Kopiowanie procesu nie jest dostępna w procesach lokalnych.

Odwołanie do procesu

Aktywność podobna do aktywności Kopiowanie procesu. Wskazany proces staje się podprocesem. Podczas tworzenia odwołania odczytywane są aktualne argumenty wejściowe i wyjściowe, czyli sygnatura podprocesu. Po zmianie sygnatury należy ręcznie odświeżyć odwołania we wszystkich procesach, które się do niego odwołują.

Uwaga

Aktywność Odwołanie do procesu nie jest dostępna w procesach lokalnych.

Uruchom proces BPM

Aktywność umożliwia uruchomienie procesu BPM z biblioteki procesów dla wybranego oddziału. Jako argumenty należy podać ID centrum odległego lub wpisać Nothing (wtedy proces uruchomi się w lokalnym oddziale). Należy także uzupełnić globalny identyfikator (GUID), który można znaleźć w domyślnie ukrytej kolumnie biblioteki procesów. Inicjatorem jest użytkownik, z którego uprawnieniami zostanie uruchomiony proces. Można również przekazać argumenty procesu w postaci słownika, gdzie kluczem jest nazwa parametru, a wartością obiekt.

Aktywność Uruchom proces BPM

 




Zarządzanie procesem

Aktywności w grupie Zarządzanie procesem służą do sterowania uprawnieniami.

Kategoria aktywności Zarządzanie procesem

Pobierz aktualną sesję

Aktywność pobiera obiekt zawierający informacje o bieżącej sesji, w której wykonuje się proces. Sesja zawiera np. informacje na temat centrum, z którego uprawnieniami wykonywany jest proces.

Aktywność Pobierz aktualną sesję

Pobierz sesję po id

Ta aktywność umożliwia pobranie dowolnej sesji na podstawie jej identyfikatora.

Aktywność Pobierz sesję po id

Wstrzymaj proces

Za pomocą aktywności Wstrzymaj proces możliwe jest zatrzymanie wykonywania procesu na określony czas. Podczas gdy proces jest wstrzymany, zwolniona zostaje kolejka serwera BPM, co umożliwia uruchomienie kolejnego procesu. Ważną cechą aktywności jest to, że po wstrzymaniu procesu jego stan jest zapisywany w bazie danych. Działanie to jest ściśle powiązane z parametrem Kontynuowanie przerwanych instancji opisanym w artykule Konfiguracja BPM – Zaawansowane.

Aktywność Wstrzymaj proces

Wskazówka

Przed wstrzymaniem procesu warto, w miarę możliwości, ustawić zmienne na null. Jest to dobra praktyka pozwalająca zaoszczędzić zasoby pamięciowe.

Uwaga

Nie ma możliwości użycia aktywności Wstrzymaj proces w procesie lokalnym.

Wykonaj z uprawnieniami

Domyślnie proces wykonywany jest z uprawnieniami operatora i centrum, jakie zostały ustawione dla usługi BPM (procesy globalne) lub aplikacji Comarch ERP Altum (procesy lokalne). W celu wykonania części procesu z uprawnieniami innego centrum i/lub operatora należy użyć aktywności Wykonaj z uprawnieniami.

Aktywność Wykonaj z uprawnieniami

 




Sterowanie przebiegiem

Aktywności w grupie Sterowanie przebiegiem służą do wielokrotnego powtarzania operacji, wprowadzania instrukcji warunkowych, ograniczania procesu w czasie czy definiowania operacji do wykonania równoległego.

Kategoria aktywności Sterowanie przebiegiem

DoWhile

Aktywność wykonuje operacje w pętli, dopóki spełniony jest określony warunek.

Aktywność DoWhile

Uwaga

Aktywność DoWhile wykona się zawsze przynajmniej raz, ponieważ warunek sprawdzany jest za każdym razem po wykonaniu instrukcji zdefiniowanych w sekcji Body.

ForEach<T>

Aktywność pozwala na wykonanie operacji dla każdego elementu w kolekcji. Aby poprawnie korzystać z tej aktywności, należy pamiętać, aby w zakładce właściwości ustawić odpowiedni typ zmiennych znajdujących się w kolekcji.

Aktywność ForEach

Ustawienie typu elementów kolekcji dla aktywności ForEach

Ogranicz w czasie

Aktywność pozwala ograniczyć w czasie wykonywane operacje. Proces będzie wykonywał instrukcje zadeklarowane na zakładce Wykonaj maksymalnie przez czas zdefiniowany na zakładce Czas. Jeżeli czas ten zostanie przekroczony, proces wykona operacje z zakładki Po upływie czasu.

Aktywność Ogranicz w czasie

Uwaga

Aktywność Ogranicz w czasie nie jest dostępna dla procesów lokalnych.

Parallel

Pozwala na równoległe wykonywanie działań, aktywności lub podprocesów.

Aktywność Parallel

ParallelForEach

Aktywność pozwala zdefiniować równoległe wykonywanie operacji dla każdego elementu. Jest połączeniem aktywności ForEach i Parallel.

Sekwencja

Operacje w sekwencji wykonywane są jedna po drugiej. Nie ma możliwości rozgałęziania działań. Aby zmienić kolejność wykonywania, wystarczy przeciągnąć aktywności wyżej lub niżej.

Aktywność Sekwencja

Sprawdź warunek

Aktywność sprawdza, czy podany warunek jest prawdziwy. Jeśli tak, wykonuje instrukcje po lewej stronie, jeśli nie – po prawej. Po kliknięciu na aktywność prawym przyciskiem myszy istnieje możliwość wybrania opcji Dodaj gałąź. Pozwala to na wykonywanie kolejnej instrukcji warunkowej jeśli pierwszy warunek nie jest spełniony (analogicznie do instrukcji elseif).

Aktywność Sprawdź warunek

While

Aktywność analogiczna do aktywności DoWhile. Różnica polega na tym, że w tym przypadku warunek sprawdzany jest zawsze przed wykonaniem pętli.

Aktywność While

 




Schemat blokowy

Grupa Schemat blokowy zawiera aktywności pozwalające na wprowadzanie do procesu dodatkowych drzew aktywności.

Kategoria aktywności Schemat blokowy

FlowSwitch

Aktywność pozwala na wykonanie konkretnych działań w zależności od wartości parametru wejściowego, który może być również wyrażeniem. Wartość Default jest ustawiana w momencie, kiedy parametr wejściowy nie jest równy żadnej innej wartości zdefiniowanej w FlowSwitch. Typ parametru może być dowolny spośród dostępnych w Comarch ERP Altum lub dodanych przez użytkownika referencjach.

Aktywność FlowSwitch

Schemat blokowy

Jest to aktywność zawierająca schemat działań analogiczny do tego tworzonego automatycznie przez edytor podczas dodawania procesu, jeśli nie zostanie wybrana sekwencja. Więcej informacji o tworzeniu procesu znajduje się w artykule Dodawanie nowego procesu.

Aktywność Schemat blokowy

Warunek

Aktywność podobna do FlowSwitch. Różnica polega na tym, że sprawdzany jest warunek, który może być prawdziwy lub nie. W zależności od wyniku proces wykonuje wskazane operacje.

Aktywność Warunek

 




Wykonanie

Grupa Wykonanie zawiera dwie aktywności:

Kategoria aktywności Wykonanie

Wyświetl komunikat

Aktywność umożliwia wyświetlanie w interfejsie komunikatów dla użytkowników. Jako argumenty należy podać tytuł oraz treść wiadomości. Obie wartości można dodać wraz z tłumaczeniami.

Aktywność Wyświetl komunikat

Uwaga

Aktywność Wyświetl komunikat dostępna jest tylko dla procesów lokalnych.

Zakończenie procesu

Aktywność pozwala przerwać permanentnie wykonywanie instancji procesu. W celu poprawnego dodania aktywności należy uzupełnić pole Przyczyna podając tekst zawierający powód przerwania procesu. Będzie on widoczny dla użytkownika, dla którego proces wykona tę aktywność.

Aktywność Zakończenie procesu

 




Podstawowe

W tej grupie znajdują się podstawowe aktywności pozwalające przypisać wartości do zmiennych czy wykonać metody.

Kategoria aktywności Podstawowe

Opóźnij proces

Aktywność pozwala wstrzymać wykonanie procesu na określony w oknie właściwości czas. Proces pozostaje w stanie aktywnym, zatem wykonanie innego procesu w aktualnym wątku serwera BPM nie jest możliwe. Stan procesu nie jest zapisywany w bazie danych.

Właściwości aktywności Opóźnij proces

Przypisz

Za pomocą tej aktywności można przypisać wartość do wybranej zmiennej.

Aktywność Przypisz

Przypisz wiele

Jest to seryjne przypisywanie wartości do zmiennych, dzięki czemu nie ma konieczności używania kolejno wielu aktywności Przypisz.

Aktywność Przypisz wiele

Stwórz okres czasu

Aktywność pozwala wygenerować zmienną typu TimeSpan przechowującą okres czasu, który można wykorzystać jako argument przykładowo w aktywności Opóźnij proces.

Aktywność Stwórz okres czasu

Wykonaj metodę

Aktywność pozwala wykonać wewnątrz procesu dowolną metodę systemową. Dokumentację API zawierającą opis wszystkich metod systemowych można znaleźć na indywidualnych stronach partnerskich w zakładce Comarch ERP Altum → Aktualne wersje, w sekcji API Comarch ERP Altum.

Przykład

Wywołanie metody DeleteElement na dokumencie faktury sprzedaży.

Na Flowchart należy przenieść aktywność Wykonaj metodę, a następnie wypełnić pola:

  • Obiekt Comarch.B2.Common.Locator.GetService(Of Comarch.B2.Sales.Interfaces.Presentation.ISalesInvoiceService)
  • Nazwa metody DeleteElement”
  • Parametry – inicjacja nowego słownika: New Dictionary (Of String, Object) From {{„document”, FS},{„elementId”, FS.Elements(0).Id}}
  • Rezultat – w tym przypadku pole można pozostawić puste

Aktywność Wykonaj metodę

Tak wypełniona aktywność Wykonaj metodę usunie, z wcześniej pobranej do procesu faktury sprzedaży, pierwszy element.

Wykonaj metodę (.Net)

Aktywność podobna do Wykonaj metodę. Należy podać jedno z pól TargetType lub TargetObject w celu wykonania metody nieinstancyjnej lub instancyjnej. W oknie właściwości można określić parametry metody lub przypisać jej wynik do zmiennej.

Aktywność Wykonaj metodę (.Net)

Wypisanie na standardowe wyjście

Pozwala wypisać określony tekst w konsoli serwera BPM. Opcjonalnie jest też możliwość określenia autora tekstu we właściwościach aktywności.

Aktywność Wypisanie na standardowe wyjście

Zapisz do pliku

Za pomocą aktywności można zapisać dane do pliku. Dane należy podać w postaci binarnej (tablica bajtów). Należy również określić ścieżkę do pliku wraz z jego nazwą i określić czy plik ma zostać nadpisany, jeśli plik istnieje już w tej lokalizacji.

Aktywność Zapisz do pliku

 




Kolekcje

Grupa zawiera aktywności wykonujące operacje na kolekcjach, np. listach. Przed dodaniem dowolnej aktywności dotyczącej kolekcji, użytkownik musi podać jej typ. Typem może być każdy obiekt Comarch ERP Altum lub zmienna liczbowa, tekstowa itp.

Kategoria aktywności Kolekcje

Wybór typu kolekcji

Dodaj do kolekcji

Aktywność dodaje do kolekcji element. Należy wskazać kolekcję, do której ma zostać dodany element.

Aktywność Dodaj do kolekcji

Istnieje w kolekcji

Aktywność sprawdza, czy podany element istnieje w kolekcji. Jako rezultat zwraca ona wartość logiczną True, jeśli element znajduje się w kolekcji. W przeciwnym wypadku zwracana jest wartość False.

Aktywność Istnieje w kolekcji

Sortuj kolekcję

Za pomocą aktywności można sortować kolekcję. Należy podać warunek w formie tekstowej („ASC” lub „DESC”), który będzie determinował, czy kolekcja ma być sortowana rosnąco czy malejąco. W przypadku kiedy kolekcja zawiera więcej niż jedno pole, można wskazać, po którym polu ma następować sortowanie poprzez wpisanie jego nazwy przed warunkiem („Name DESC”). Po przecinku można dodawać kolejne warunki w przypadku, kiedy kolekcja ma być sortowana, przykładowo, najpierw po nazwie, a potem po ID.

Aktywność Sortuj kolekcję

Usuń z kolekcji

Aktywność pozwala usunąć wskazany element z kolekcji. Jako rezultat zwracana jest wartość logiczna, która określa, czy proces wykonał poprawnie operacje.

Aktywność Usuń z kolekcji

Wyczyść kolekcję

Za pomocą aktywności można usunąć wszystkie elementy z podanej kolekcji.

Aktywność Wyczyść kolekcję

 




Obsługa błędów

Grupa pozwala obsługiwać wyjątki zwracane przez aplikację w przypadku wystąpienia nieoczekiwanego błędu podczas wykonywania operacji lub w zaplanowanych przez autora miejscach procesu.

Kategoria aktywności Obsługa błędów

Rethrow

Aktywność może być użyta tylko w polu Catch aktywności TryCatch. Powoduje ona, że wyjątek, który został obsłużony, zostaje wyrzucony ponownie.

Throw

Aktywność powoduje wyrzucenie wyjątku wskazanego przez autora procesu. Wyjątek należy zdefiniować w oknie Właściwości. Można też korzystać z wyjątków dostępnych w API Comarch ERP Altum.

Właściwości aktywności Throw

TryCatch

W przypadku wystąpienia wyjątku podczas wykonywania operacji znajdujących się w polu Try, wykonywanie akcji zostanie przerwane i zostaną uruchomione działania zdefiniowane w polu Catch. Niezależnie czy wyjątek wystąpi czy nie, na koniec zostaną wykonane operacje z pola Finally.

Aktywność TryCatch

 




Słowniki

W grupie znajdują się aktywności umożliwiające wykonywanie operacji na słownikach zdefiniowanych jako zbiory par klucz-wartość. Przed dodaniem aktywności z tej grupy należy określić typ klucza i wartości.

Kategoria aktywności Słowniki

Wybór typów klucza i wartości dla słownika

Aktualizuj lub dodaj do słownika

Pozwala dodać do słownika wartość dla podanego klucza. Jeśli dany klucz istnieje już w słowniku, wartość zostanie zaktualizowana.

Aktywność Aktualizuj lub dodaj do słownika

Istnieje klucz w słowniku

Aktywność sprawdza, czy w podanym słowniku znajduje się wpis zawierający określony klucz. Rezultatem jest zmienna logiczna przyjmująca wartość True, jeśli dany klucz znajduje się w słowniku oraz wartość False w przeciwnym wypadku.

Aktywność Istnieje klucz w słowniku

Istnieje wartość w słowniku

Aktywność sprawdza, czy w podanym słowniku znajduje się wpis zawierający określoną wartość. Rezultatem jest zmienna logiczna przyjmująca True, jeśli dana wartość znajduje się w słowniku oraz False w przeciwnym wypadku.

Aktywność Istnieje wartość w słowniku

Pobierz ze słownika

Aktywność pobiera wartość słownika na podstawie podanego klucza. Rezultatem, prócz wartości, jest zmienna logiczna przechowująca informację o tym, czy udało się pobrać dany wpis.

Aktywność Pobierz ze słownika

Usuń ze słownika

Aktywność usuwa wpis ze słownika na podstawie podanego klucza. Rezultatem jest zmienna logiczna przechowująca informację o tym, czy wpis został usunięty.

Aktywność Usuń ze słownika

Wyczyść słownik

Aktywność powoduje usunięcie wszystkich wpisów ze słownika.

Aktywność Wyczyść słownik

 




Office

Aktywności grupy Office pozwalają na integrację arkuszy kalkulacyjnych programu Microsoft Office z aplikacją Comarch ERP Altum BPM. Dzięki nim użytkownik może pobierać i zapisywać dane do arkuszy lub tworzyć nowe. Aby móc korzystać z aktywności grupy Office, należy wcześniej dodać referencję Comarch.Workflow.Office.Integration. Jest to referencja standardowa, wczytana już do aplikacji. Użytkownik musi ją jedynie wybrać w oknie referencji dla danego procesu.

Referencja do integracji z programem Microsoft Office

W grupie dostępne są trzy aktywności:

Kategoria aktywności Office

Dodaj arkusz danych

Aktywność dodaje strukturę arkusza danych. Tworzona jest zmienna o typie SpreadsheetDocument. Właściwością obiektu typu SpreadsheeDocument jest Records, która zawiera listę wierszy danego arkusza. Każdy obiekt wiersza posiada z kolei właściwość Cells, która przechowuję listę kolumn w danych wierszu.

Aktywność Dodaj arkusz danych

Odczytaj arkusz Excel

Aktywność umożliwia odczytywanie danych z arkusza kalkulacyjnego. Jako argument należy podać dane z pliku. Rezultatem jest arkusz danych – zmienna typu SpreadsheetDocument.

Wskazówka

Plik można odczytać przykładowo z parametru, definiując go wcześniej jako typ FileDataType. Dane z pliku są przechowywane we właściwości FileDataType.Data.

Aktywność Odczytaj arkusz Excel

Stwórz arkusz Excel

Aktywność generuje dane binarne na podstawie wskazanego arkusza.

Przykład

Po wygenerowaniu danych binarnych istnieje możliwość wygenerowania z nich załącznika za pomocą aktywności Stwórz załącznik. Tak utworzony załącznik dodawany jest do listy załączników stworzonej wcześniej przez aktywność Stwórz listę załączników. Arkusz można wysłać do skrzynki zadań pracownika lub jako wiadomość e-mail.

Aktywność Stwórz arkusz Excel