Społeczność Comarch ERP | Użytkownicy Klienci Partnerzy Comarch
Przemysław Duda napisał/a o
BPM
BPM artykułów: 12

Piotr TomasiakPrzemysław Duda
Comarch ERP Altum
Comarch ERP Altum artykułów: 61

Comarch ERP Altum

Witold PodgórskiPaweł PilacińskiRobert ŻuberPiotr BudzinowskiTomasz GutkowskiAgnieszka KozłowskaJoanna BałutPaulina Pacek

Tematy dostępne w archiwalnym BLOGu Comarch ERP Altum Workflow

Zaktualizowano 2 lata temu

Witamy!

Z racji przeniesienia naszego dotychczasowego bloga do Społeczności Comarch ERP postanowiliśmy przypomnieć listę tematów postów, które zostały dotychczas stworzone w ramach obszaru Workflow. Informacje zawarte na dotychczasowym blogu są bardzo przydatne w poznawaniu i korzystaniu z Edytora Workflow pod kątem tworzenia i wykorzystywania procesów.

Poniżej znajduje się lista tematów z podziałem na kategorie. Zachęcamy do lektury!

--

Zespół Comarch ERP Altum Workflow



Procesy


Proces wiązania dokumentu RLS z dokumentami sprzedażowymi (FS,PAR)
Procesy windykacyjne dla wersji Workflow 6.0 cz.2
Procesy windykacyjne dla wersji Workflow 6.0
Zmiany w procesie obsługi transakcji wewnątrzwspólnotowych w związku z nowymi stanami faktur VAT zakupu i sprzedaży
Aktualizacja normatywów - zmiany w procesie.
Proces obsługujący transakcje wewnątrzwspólnotowe
Proces Poinformuj o rozbieżności w kasie
Proces aktualizacji kursów walut
Proces wysyłający informację o nierozpatrzonych dokumentach reklamacji (RLS)
Proces informujący o uznaniu reklamacji RLS
Lokalne procesy RLS
Przykładowy proces sprawdzenia uprawnień użytkownika
Proces aktualizacji normatywów
Automatyczne generowanie spotkań i kontaktów (CRM)
Aktualizacja opiekunów na kartach osób kontaktowych oraz kontrahentów.
Proces CRM -Seryjne generowanie kwestionariuszy dla kontrahentów pobrancyh z raportu BI
Proces CRM - Powiadomienia o zadaniach
Proces CRM - Zmiana rodzaju kontrahenta w CRM
Proces generowania dokumentu ZZ z BST na dostawcę proponującego najniższą cenę
Zmiany w procesach księgowych odnośnie zapisu właściwego operatora w historii zmian



Tworzenie procesów:

Przygotowywanie procesów - Best Practises
Nowy typ procesu: schemat blokowy
Podprocesy - traktowanie innych procesów jako aktywności
Proces lokalny - nowy typ procesu w Workflow
Zmiany w procesie Automatycznej obsługi transakcji wewnątrzwspólnotowej
Rozszerzalność lokalnych zdarzeń



Aktywności:

Aktywność Wyślij informację
Nowe aktywności biznesowe w 5.4
Aktywności "Wykonaj SQL"
Ulepszenia w aktywności Wyślij e-mail
Nowy designer dla aktywności Przypisz
Zmiany w aktywności "Wyślij e-mail"
Aktywności do zarządzania danymi binarnymi w Altum
Aktywność sortowania kolekcji
Atrybuty - przykłady praktycznego zastosowania
Aktywności do zarządzania słownikami
Aktywności do zarządzania kolekcjami
Nowa aktywność wywoływania metod - Invoke Method
Aktywność oczekiwania na zdarzenie (WaitForEvent)



Zdarzenia startowe:

Nowy interfejs do zarządzania mapowaniem parametrów zdarzeń na argumenty startowe procesu
Aktywności i zdarzenia startowe dla ZWE
Zdarzenie lokalne po wygenerowaniu FS z WZ
Nowe zdarzenia lokalne dla WZ/MM-/MM+/PZ/PW



Konfiguracja:

Możliwość dynamicznej zmiany języka interfejsu bez ponownego uruchamiania
Możliwość konfiguracji EndpointaWorkflow po numerze IP oraz po nazwie serwera
Możliwość wznowienia przerwanej instancji procesu



Problem Solver:

Naprawa komunikacji SQL Service Brokera
ProblemSolver - pierwszy krok rozwiązania problemu
Zmiana portu SQL Service Brokera przy pomocy konfiguratora Workflow
Automatyczne uruchomienie Problem Solvera
Problem Solver - opis działania i funkcje



Skrzynka zadań:

Ergonomiczne zmiany notyfikatora skrzynki zadań
Hiperlinki w skrzynce zadań
Zmiany w ergonomii i sposobie przekazywania wartości podczas uruchamiania procesów z Inbox
Nowa skrzynka zadań w Comarch ERP Altum/Retail 5.5 - porównanie z wersją 5.4
Dynamiczny edytor wiadomości skrzynki odbiorczej
Monitorowanie podglądu stanu wykonania procesu w skrzynce zadań



Integracja z BI:

Workflow - Integracja z BI
Workflow - Integracja BI - przykład
Kontekstowy wybór raportu w aktywności Pobierz raport BI
Autokonfiguracja Workflow w zależności od instalacji modułu BI



Konteksty:

Mapowanie więcej niż jednego elementu z kontekstu
Zmiany ergonomiczne w kontekstach
Zaktualizowana lista kontekstów, linków i hiperlinków w Workflow



Edytor Workflow:

Blokowanie modyfikacji standardowych procesów
Zmiany ergonomiczne w UI edytora WF
Combobox na liście parametrów procesu
Domyślne sortowanie listy importu procesów
Składnia wyszukiwarki Panel Search w edytorze Workflow
Załączniki w informacjach i decyzjach
Zmiana wyglądu podglądu stanu wykonania
Możliwość zamiany decyzji na informację i informacji na decyzję
Lepsza ergonomia importu procesów w edytorze



Integracja z Comarch ERP Retail:

Zdalne uruchamianie procesów Workflow
Synchronizacja obiektów na oddziały



Tips and Tricks:

Wyszukiwanie plików na dysku z poziomu procesu Workflow
Timeout na aktywnościach SQL
Możliwości rozszerzalności Workflow - przykład
Uruchamianie dwóch wersji Workflow na tym samym stanowisku
Skróty do procesów Workflow na pulpicie Altum
Zapis stanu procesu na bazę i jego konsekwencję
Formatowanie danych przekazywanych w wiadomości e-mail
Obsługa parametrów w wydrukach w Altum
Nowe wsparcie dla tłumaczeń



Dokumentacja:

Dodatkowe materiały dotyczące Workflow 5.3
Dokumentacja do procesów
Zmiana bezpieczeństwa w kontekście Workflow 5.3
Zmiany w szkoleniach Workflow
User Avatar
partner
Paweł Jurkun
543 pkt
1 pytań
29 odpowiedzi
14 pomysłów
3 komentarzy
24 95%
Paweł Jurkun napisał/a o
BPM
BPM pomysłów: 1 | odpowiedzi: 0

Paweł Jurkun
Comarch ERP Altum
Comarch ERP Altum pomysłów: 32 | odpowiedzi: 165

Comarch ERP Altum

Stanisław PachaczJakub MagieraMarek ModlińskiMIKOŁAJ ROSZAKPiotr ZnamirowskiWładysław KućŁukasz DecJakub Uciński

Dużo procesów workwflow a ich obsługa i monitorowanie

Dodano 2 lata temu

Wyobraźmy sobie 50 tyś procesów ktore wiszą w monitorze procesów workflow altum.

Nie polecam nikomu monitorowania takiej instalacji a ja muszę :)

Proszę projktantów systemu o zastaniwienie sie nad usprawnieniami do monitorowania procesów. Obecny kierunek jet dobry ale stanowczo niewydajnie to działa.

Piotr Tomasiak napisał/a o
BPM
BPM artykułów: 12

Piotr TomasiakPrzemysław Duda

Nowe aktywności biznesowe w 2015.0

Dodano 3 lata temu

Chcemy, aby tworzenie procesów było dla Państwa jeszcze łatwiejsze. Do wersji 2015.0 dodaliśmy aż 127 nowych dedykowanych aktywności biznesowych. Stanowi to 1/4 wszystkich aktywności, których na chwilę obecną jest blisko 500.

Lista nowododanych aktywności:


Ponadto dodano pojedyncze aktywności:

  • Aktualizuj kursy walut
  • Dodaj powiązanie (w sekcji Zamówienie sprzedaży)
  • Generuj PW (w sekcji Paragon - korekta ilościowa)
  • Pobierz DN po Id
  • Pobierz FSL po id
  • Pobierz FZL po Id
  • Pobierz KDFZ po Id
  • Pobierz KDPZ po Id
  • Pobierz KFSL po Id
  • Pobierz KFZL po Id
  • Pobierz KIFS po Id
  • Pobierz KIFZ po Id
  • Pobierz KIPAR po Id
  • Pobierz KIPW po Id
  • Pobierz KIPZ po Id
  • Pobierz KIRW po Id
  • Pobierz KK po Id
  • Pobierz KN po Id
  • Pobierz KWFS po Id
  • Pobierz KWFZ po Id
  • Pobierz KWPAR po Id
  • Pobierz KWPW po Id
  • Pobierz KWPZ po Id
  • Pobierz KIWZ po Id
  • Pobierz KWWZ po Id
  • Pobierz RK po Id
  • Pobierz ZSD/KSD po Id

W wersji 2015.0 dostępna będzie bardzo przydatna aktywność Ogranicz w czasie, która umożliwi ograniczenie wykonania aktywności umieszczonej wewnątrz niej. W przypadku upływu czasu zostaną wykonane aktywności z sekcji Po upływie czasu.

Możliwości tej aktywności przedstawmy na przykładzie procesu standardowego Wygeneruj przesunięcie międzymagazynowe plus (MM+). Zmodyfikujmy proces tak, żeby po wygenerowaniu dokumentu MM+ osoba otrzymująca decyzję co należy wykonać z tym dokumentem, miała ograniczony czas na jej podjęcie.

Proces standardowy wygląda następująco:

Pierwszym krokiem jest skorzystanie z aktywności Stwórz okres czasu. Znajduje się ona w aktywnościach standardowych w grupie Podstawowe. Ta aktywność pozwoli nam określić okres czasu jaki będzie miała osoba na podjęcie decyzji.

Konfigurujemy aktywność określając okres czasu. Możemy również ustalić, że proces ma się wykonać o określonej godzinie danego dnia ( do tego służy zaznaczenie opcji Jako czas dnia).

Rezultatem będzie zmienna okres typu TimeSpan.

Następnie użyjmy aktywności Ogranicz w czasie. Znajduje się ona w aktywnościach standardowych w grupie Sterowanie przebiegiem.

Po dodaniu aktywności do procesu należy ją skonfigurować. W sekcji Czas wprowadzamy zmienną okres przechowującą informację o ograniczeniu wykonania aktywności w czasie.

Decyzję "Co wykonać z MM+?" i wszystkie aktywności wewnątrz jej przenosimy do sekcji Wykonaj.

W ostatniej sekcji(Po upływie czasu) możemy dodać aktywności jakie mają wykonać się, gdy czas podjęcia decyzji o MM+ zostanie przekroczony. W naszym przykładzie dodamy aktywność wysłania informacji o upływie czasu.

Zmodyfikowany proces wygląda następująco:

Po opublikowaniu pozostaje tylko uruchomić proces. Tworzymy sobie dokument MM- i zatwierdzamy go. Proces działa na zdarzenie zatwierdzenia MM-, więc uruchomi się samodzielnie, wygeneruje dokument MM+ w stanie niezatwierdzonym oraz wyśle do użytkownika decyzję co ma wykonać z tym dokumentem.

Gdy upłynie czas na podjęcie decyzji, zadanie zmienia stan na anulowany i trafia do odpowiedniego folderu, natomiast w folderze Informacje otrzymujemy komunikat obsługujący upływ czasu, który sami zdefiniowaliśmy (aktywność Wyślij informację) w sekcji Po upływie czasu.

W wersji 6.3 został udostępniony proces do automatycznego uzupełniania braków. Został stworzony głównie na potrzeby klientów Comarch ERP Retail, którzy prowadzą sprzedaż z brakami. Proces ma za zadanie wygenerować do dokumentów rozchodowych dokumenty magazynowe WZ na artykuły
z brakami w sytuacji gdy dane zasoby zostały uzupełnione na magazynie.

Proces uruchamiany jest na kilka sposobów:


1. Zatwierdzenie PW, PZ, MM+
Proces uruchamia się automatycznie po zatwierdzeniu ww. dokumentów. W tym przypadku proces na bieżąco uzupełnia brakujące dokumenty magazynowe. Dla artykułów znajdujących się na dokumencie dostawy, proces weryfikuje zarejestrowane w systemie braki Następnie do faktur sprzedaży lub paragonów wskazujących brak zasobów dla przyjętych artykułów, proces generuje dokumenty magazynowe (WZ), a tym samym usuwa braki na magazynie. Rezultat wykonanych operacji wysyłany jest do skrzynki operatora wskazanego w parametrze startowym procesu lub inicjatora procesu. Informacja przesyłana jest tylko, gdy proces odnalazł braki w systemie.


Przykład:
Tworzymy FS i PAR z brakami:

Stany magazynowe:

Tworzymy nowe PZ i zatwierdzamy:

Uruchamia się proces na zdarzenie zatwierdzenia PZ, który do faktury i paragonu tworzy dokumenty WZ. Na poniższym zdjęciu widać, że subelement został powiązany z nowoutworzonym dokumentem PZ.

2. Uruchomienie procesu bezpośrednio z list PW/PZ lub MM+

3. Uruchamianie procesu ze skrzynki zadań wybierając dokumenty przychodowe z listy kontekstowej.

4. Uruchomienie procesu w trybie Globalnego uzupełniania braków.

Jeżeli braki powinny być uzupełniane cyklicznie, nie przy każdorazowym zatwierdzeniu dostawy, proces można uruchomić ręcznie z poziomu skrzynki zadań lub automatycznie według harmonogramu z zaznaczonym parametrem startowym: Globalne uzupełnianie braków. W tym trybie proces weryfikuje wszystkie faktury sprzedaży i paragony, na których zarejestrowano braki a następnie próbuje dogenerować brakujące dokumenty magazynowe (WZ) korzystając z istniejących zasobów na magazynach. Informacja o wszystkich dokumentach wskazujących braki oraz o dokumentach wygenerowanych przesyłana jest do operatora wskazanego w parametrze startowym lub do inicjatora procesu. W przypadku globalnego uzupełniania braków według harmonogramu zaleca się odznaczanie zdarzeń startowych dla ww. dokumentów.

Przykładowa informacja podsumowująca:

Proces pokazuje w łatwy sposób, jak możemy wykorzystać Workflow w konkretnym scenariuszu biznesowym, bez konieczności wprowadzania w nim dodatkowych zmian programistycznych.


Schemat blokowy procesu:



Aspekt biznesowy jest następujący: w e-Sklepie generowane są zamówienia sprzedaży, które następnie synchronizowane są do Altum.



W momencie pojawienia się danego zamówienia w bazie danych, na zdarzenie startowe zatwierdzenia zamówienia sprzedaży, pochodzące z synchronizacji dokumentu ZS, uruchamiany jest proces Workflow (dodatkowe informacje o tej funkcjonalności można otrzymać poprzez kontakt z Asystą Techniczną). Jeśli zamówienie pochodzi z e-Sklepu, co jest weryfikowane na samym początku procesu, następuje sprawdzenie, czy kontrahent na którego wystawiono zamówienie sprzedaży nie jest kontrahentem Nieokreślonym, jeśli tak, to żadne kroki nie są podejmowane, a do użytkownika uruchamiającego proces, wysyłana jest informacja o jego zakończeniu.


W przypadku określenia kontrahenta, do zamówienia sprzedaży generowana jest faktura sprzedaży, która następnie (po wyeksportowaniu jej do dokumentu pdf) jest podpinana do dokumentu FS jako załącznik.



Po stronie e-Sklepu załącznik ten jest podpięty do zamówienia sprzedaży.


Podgląd faktury sprzedaży wygląda następująco:



Na koniec, na skrzynkę mailową kontrahenta, wysłane zostaje powiadomienie o fakturze:

Tym razem chcielibyśmy pokazać Państwu jak w bardzo prosty sposób można za pomocą Comarch ERP Altum Workflow wyeksportować dane do pliku CSV.
Takie wykorzystanie można użyć m.in:


• w migracji danych z różnych systemów/różnych baz firmowych (w tym przypadku można również stworzyć proces, który importuje dane z pliku CSV np. dane kontrahentów, towarów zapisane w formacie CSV)
• prezentacja danych z systemu np. w Excelu (pliki CSV są domyślnie obsługiwane przez wiele innych aplikacji)
• jako alternatywny sposób raportowania
• wymiana dokumentów między nabywcami a dostawcami, którzy używają innych formatów dokumentów elektronicznych.


Nasz przykładowy proces uruchamiany jest z listy faktur sprzedaży i dla każdego wskazanego dokumentu FS tworzony jest wiersz w pliku CSV zawierający Id i numer dokumentu. Plik wysyłany jest jako załącznik w informacji do skrzynki inicjatora procesu.


W naszym przykładzie stworzyliśmy dwa parametry:

• Ids - parametr typu Tablica Int32, który przechowuje nam identyfikatory faktur
• Separator - parametr typu String, określający nam jakim znakiem będziemy w pliku CSV oddzielać dane
Proces wygląda następująco:

Szczegółowo skupmy się na dwóch elementach:

• Format wypełniania treści pliku:

Jak widzimy do zmiennej typu String(fileContent) dodawane będą dane w formacie: ID faktury, separator, Numer faktury, separator, przejście do następnej linii itd.

• Stworzenie załącznika:

W celu użycia kodowania w systemie UTF-8 należy w argumencie "Dane załącznika" wprowadzić powyższe wyrażenie korzystając z właściwości GetBytes.


Proces uruchamiamy z listy faktur sprzedaży. Zaznaczamy określone dokumenty na liście i kontekstowo wskazujemy na Procesy Workflow i wybieramy konkretny proces.

Możemy również uruchomić proces ze skrzynki zadań. W tym sposobie po wybranieu procesu z listy kontekstowej wybieramy wartości dla parametru Ids i uruchamiamy proces.

Po przetworzeniu danych w skrzynce odbiorczej pojawia się informacja z załącznikiem.

Uruchamiając plik CSV widzimy, że proces zapisał potrzebne nam dane.

Wraz z wydaniem wersji Comarch ERP Altum Workflow 6.2 została dodana nowa funkcjonalność - możliwość przesyłania plików do procesów Workflow. Dzięki niej, możemy sprostać kolejnym wymaganiom naszych klientów. W opisanym poniżej przykładzie pokażemy aspekt biznesowy użycia nowego mechanizmu, będzie to import do procesu arkusza kalkulacyjnego .xlsx (warto wspomnieć, że nie wspieramy poprzedniego, binarnego formatu .xls), na podstawie którego ustawimy wartości atrybutów na obiektach w bazie Altum. Istotną informacją dla użytkownika jest to, że do wykonania procesu operującego na pliku .xlsx nie ma konieczności instalowania produktu Microsoft Excel.


Zacznijmy od początku, czyli od samego przekazywania plików do procesów. Mamy tutaj możliwość zarówno przekazywania pojedynczych jak i wielu plików. Zacznijmy od prostego procesu, który wysyła do skrzynki zadań użytkownika Altum wiadomość, w której załączniku znajduje się wskazany podczas uruchamiania procesu plik, np.: screen. Schemat procesu wygląda następująco:

Zatem w pierwszej kolejności tworzona jest dynamiczna lista załączników, w momencie wyboru załącznika poprzez okno parametrów procesu, tworzony jest dla niego załącznik, który następnie przesyłamy w informacji do skrzynki zadań. Parametr procesu, do którego przypisywany jest plik ustalamy następująco:

Jest to parametr o typie Comarch.Workflow.Library.FileDataType. Natomiast aktywność "Stwórz załącznik" należy skonfigurować następująco:

Tak przygotowany proces, publikujemy, dodajemy do wybranej grupy operatorów i uruchamiamy z poziomu skrzynki zadań:

Należy zwrócić tutaj uwagę na to, że do momentu uruchomienia procesu nie jest wykonywana zbędna walidacja wprowadzonego pliku. Może się okazać np., że:
- plik został usunięty lub zmieniono mu nazwę - wtedy otrzymamy stosowny komunikat:



- rozmiar pliku przekracza dopuszczalną wielkość - jest to wartość konfigurowalna, określa ją wpis w tabeli Workflow.Configuration o nazwie klucza FileDataTypeMaxSize - również otrzymamy stosowny komunikat

Jak łatwo się zgadnąć, parametr w tabeli konfiguracji o nazwie FileDataTypeMaxCount określa maksymalną liczbę plików, które możemy przekazać do jednego procesu.

W momencie uruchomienia naszego procesu, do skrzynki zadań użytkownika Altum zostaje wysłana informacja, zawierająca przekazany wcześniej plik. Możemy go podejrzeć.

Jeżeli chcielibyśmy przesłać do procesu jednocześnie większą liczbę plików, wtedy należy w inny sposób ustalić typ parametru w procesie Workflow. Możemy go skonfigurować w dwojaki sposób: jako tablica wartości wcześniej użytego typu lub też lista.

Natomiast samo dodanie plików do listy załączników możemy zrealizować w pętli ForEach.


Poza tymi zmianami, działanie procesu nie różni się w żaden sposób. Uruchamiamy go z poziomu skrzynki zadań, dodajemy pliki i odczytujemy w informacji która dotarła do skrzynki.

Przejdźmy teraz do bardziej skomplikowanego wykorzystania naszej funkcjonalności. Załóżmy, że firma X przechowuje w arkuszu kalkulacyjnym dane o obrotach poszczególnych oddziałów w kolejnych kwartałach. Struktura firmy wygląda następująco:

Arkusz kalkulacyjny natomiast wygląda następująco:

W wierszu nr 1 znajdują się nagłówki kolumn, wszystkie komórki w tym wierszu, z wyjątkiem kolumny A, będą w naszym procesie odpowiadały za atrybuty, które zostaną dodane do poszczególnych centrów struktury firmy, których nazwy zostały określone w wierszach od drugiego.
Przejdźmy do struktury naszego procesu, abyśmy mogli odczytać zawartość pliku .xlsx, należy zaimportować referencję Comarch.Workflow.Office.Integration, znajdującą się w katalogu głównym naszej aplikacji. Po wykonaniu tej operacji i upewnieniu się, że nasza biblioteka jest zaznaczona w procesie:

w grupie aktywności standardowych pojawi nam się aktywność "Odczytaj arkusz Excel".

Schemat naszego procesu wygląda następująco:

W konfiguracji aktywności "Odczytaj arkusz excel" podajemy właściwość data z obiektu typu FileDataType.

A następnie, gdy dostaniemy obiekt będący arkuszem (spreadsheet), wykonujemy na nim stosowne operacje. To w jaki sposób będziemy analizowali dany plik, zależy od tego jak został on zaprojektowany, a także od tego jakie są wymagania biznesowe naszego procesu. W tym wypadku, nasz proces dla każdego oddziału stworzy lub zaktualizuje atrybuty o nazwach wskazanych w kolumnach B,C,… w wierszu 1 naszego arkusza i przypisze im podane wartości.


W tym celu wykorzystujemy pętlę ForEach, w której dla każdego wiersza pobranego z arkusza kalkulacyjnego sprawdzamy czy dany wiersz nie jest nagłówkiem dokumentu (który odpowiada za nazwy atrybutów) - jeśli tak dodaje brakujące atrybuty do oddziałów określonych w kolumnie A, jeśli nie to przypisuje konkretnym atrybutom stosowne wartości z danego wiersza.

Uruchomienie procesu z poziomu skrzynki zadań, daje oczekiwany rezultat:

Piotr Tomasiak napisał/a o
BPM
BPM artykułów: 12

Piotr TomasiakPrzemysław Duda
BI
BI artykułów: 17

BI

Paulina.MarciniecMonika MiłekKrzysztof SzeremetaRobert ŻuberMaciej PawełczakPaulina PacekWojciech JabłonkaPiotr Tomasiak
Comarch ERP Altum
Comarch ERP Altum artykułów: 61

Comarch ERP Altum

Witold PodgórskiPaweł PilacińskiRobert ŻuberPiotr BudzinowskiTomasz GutkowskiAgnieszka KozłowskaJoanna BałutPaulina Pacek

Czy wiesz, że poprzez kontekst możesz zmapować dane z raportu BI do procesu Workflow?

Zaktualizowano 3 lata temu

Jednym z elementów integracji modułów Workflow i BI w produkcie Comarch ERP Altum jest możliwość mapowania danych do parametrów procesu za pomocą kontekstu Altum.

Od wersji 6.1 kontekst dla raportów działa na dwóch listach:
- Lista artykułów w raportach BI
- Lista kontrahentów w raportach BI

Wymiarami, które są potrzebne do wywołania procesu są:
- [Produkt].[Nazwa] dla artykułów
- [Kontrahent].[Nazwa] dla kontrahentów


Za pomocą raportu można uzyskać informację na temat dwóch właściwości obiektu: Nazwa i Id.
Z tego względu, że większość metod do pobierania obiektu z API Altum używa kodu bądź Id, zalecamy mapowanie do parametru typu Integer.


Na bardzo prostym przykładzie pokażemy jak można skorzystać z tej funkcjonalności.

Proces z założenia ma pobrać artykuł przy pomocy zmapowanego identyfikatora oraz stworzyć hiperlink, który pojawi się w skrzynce zadań.
Po stworzeniu nowego procesu, konfiguracji aktywności oraz dodaniu parametrów możemy zająć się dodaniem kontekstu do parametrów. W związku z tym klikamy w Edytorze w przycisk Konteksty Altum.

Jak widać na powyższym zdjęciu, klikamy na odpowiedni parametr. Następnie w lewym górnym rogu (Obiekty Altum niepowiązane) znajdujemy Lista artykułów w raportach BI, upewniamy się, że chcemy parametr połączyć z właściwością Id i klikamy przycisk Powiąż. To samo wykonujemy dla drugiego parametru, tekstowego wiążąc go z właściwością Name.


Po zapisie procesu, publikacji oraz dodaniu uprawnień dla określonej grupy operatorów proces jest gotowy do użycia.
Pierwszym krokiem jest wczytanie raportu, z którego będziemy mapować dane.
Następnie zaznaczamy wiersz z artykułem, który chcemy zmapować dla kolumny(wymiaru) [Produkt].[Nazwa]. Jest to o tyle ważne, ponieważ jakbyśmy zaznaczyli wiersz dla kolumny przykładowo [Kontrahent].[Kod] proces nie pojawi się na liście.
Po zaznaczeniu odpowiedniego wiersza dla kolumny [Produkt].[Nazwa] klikamy przycisk Procesy Workflow. Pojawia się tam lista procesów, które możemy uruchomić z tego kontekstu.


Po kliknięciu w nasz proces jeśli ustaliliśmy, żeby pobierał wartość dla wszystkich parametrów to uruchomi się on od razu. Jeśli nie to pojawi się zakładka parametry procesu w celu podania wartości dla brakujących parametrów.

Po uruchomieniu procesu otrzymujemy do skrzynki zadań informację z hiperlinkiem do zmapowanego artykułu.



Przykładowe scenariusze biznesowe, które mogą wykorzystywać powyższe rozwiązanie:


• Proces uruchamiany z raportu sprzedaży artykułu tworzący promocje dla określonego towaru.
• Proces opierający się na raporcie stanów magazynowych i sprzedaży, tworzący zamówienie zakupu na towary sprzedające się dobrze, których nie mamy wystarczająco dużo na magazynie.
• Analizując TOP 10 najlepszych kontrahentów, użytkownik za pomocą procesu wysyła dla niego specjalną ofertę handlową.
• Analizując raport marży produktów uruchamiany jest proces dla produktu z niewystarczającą marżą i ustalana jest nowa minimalna marża na karcie artykułu.

oraz inne, które można stworzyć w oparciu o standardowe raporty BI.


Zaletą tego rozwiązania jest ergonomia i prostota wykorzystania raportów BI w automatyzacji działań w systemie.

Przemysław Duda napisał/a o
BPM
BPM artykułów: 12

Piotr TomasiakPrzemysław Duda
Comarch Retail
Comarch Retail artykułów: 54

Witold PodgórskiJarosław GórkaKrzysztof SzeremetaMagdalena SoswaPatrycja ZemlikPaweł BaryłkoRafał BołozPaula Żarnowska-Ziobro
Comarch ERP Altum
Comarch ERP Altum artykułów: 61

Comarch ERP Altum

Witold PodgórskiPaweł PilacińskiRobert ŻuberPiotr BudzinowskiTomasz GutkowskiAgnieszka KozłowskaJoanna BałutPaulina Pacek

Eksport stanu instancji procesu

Zaktualizowano 3 lata temu

Dla przypomnienia zapis stanu uruchomionego procesu pozwala przerwać wykonanie instancji w oczekiwaniu na spełnienie zewnętrznych warunków, nie tracąc przy tym danych, które mamy w pamięci operacyjnej działającego procesu. Dzięki temu jesteśmy w stanie w procesie wysłać zadanie z decyzją do podjęcia przez użytkownika uwarunkowując od jego odpowiedzi dalsze działanie procesu. Na przykład wysyłając w procesie pytanie do magazyniera, czy tworząc zamówienie na brakujący towar nie wiemy kiedy pojawi się jego odpowiedź. Magazynier może odpowiedzieć od razu, może też to zrobić po pewnym czasie, na przykład kolejnego dnia. W oczekiwaniu na jego decyzję instancja procesu nie może wykonywać się dalej. Nie znamy jego decyzji i proces nie wie czy stworzyć zamówienie czy nie. Dodatkowo, żeby nie zajmować niepotrzebnie zasobów serwera i zabezpieczyć się przed np. jego restartem aktualny stan instancji powinien być zapisany na bazie danych. Gdy magazynier podejmie decyzje zapisany stan posłuży do odtworzenia instancji procesu i jej kontynuacji od właściwego miejsca. Odpowiedź magazyniera pokieruje także odpowiednio instancją procesu by stworzyła lub nie pożądane zamówienie.

Do wersji Comarch ERP Altum Workflow 6.1 stan instancji procesu jest zapisywany gdy wykonywane są następujące aktywności:

  • Wyślij decyzję (proces czeka na niedeterministyczną odpowiedź od użytkownika),
  • Wstrzymaj proces (proces czeka określoną ilość czasu, np. 2h lub do określonej chwili w czasie do najbliższego piątku do 20:00; ogólnie zewnętrznym zdarzeniem jest nadejście konkretnej chwili w czasie) ,
  • Oczekiwanie na zdarzenie (proces czeka na wykonanie wskazanej operacji biznesowej np. zatwierdzenie faktury o numerze FS\2014\00001; tutaj zewnętrznym zdarzeniem jest wykonanie odpowiedniej akcji w systemie, która wygeneruje zdarzenie)

Wykorzystanie w swoim procesie którejś z powyżej wymienionych aktywności zapisuje aktualny stan wykonywania instancji procesu, czyli serializuje za pomocą NetDataContractSerializer wszystkie wartości obiektów parametrów procesu oraz zmiennych, które są dostępne dla aktywności powodującej zapis stanu. Pisaliśmy już, w jednym z poprzednich wpisów o konsekwencjach jakie niesie za sobą zapis stanu. Polecamy przypomnieć sobie ten wpis. Żeby uniknąć problemów przy odtwarzaniu instancji zapis stanu musi mieć wpływ na tworzoną przez nas definicję procesu.

Wraz z wydaniem wersji Comarch ERP Workflow 6.0 , udostępniliśmy nową funkcjonalność dla monitora procesów w Edytorze Workflow, która dzięki możliwości eksportu zapisanego stanu procesu pozwala podejrzeć co nasz proces zapisał do bazy danych.

Z poziomu monitorowania możemy zapisać instancję, której stan to "oczekiwanie na decyzję" do pliku w formacie XML. W celu wykonania tej operacji, klikamy w instancję oczekującą na podjęcie decyzji prawym przyciskiem myszy i z menu kontekstowego wybieramy opcję "Zapisz stan instancji do pliku".





Następnie wybieramy lokalizację do której dany plik zostanie zapisany:





Teraz możemy już sprawdzić szczegóły pliku XML:





Dzięki eksportowi stanu instancji możemy:

  • Sprawdzić czy nasz proces nie zapisuje zbyt dużo danych do bazy - im danych mniej tym szybciej instancja zapisze swój stan i później go odtworzy, dodatkowo będzie potrzeba mniej miejsca na składowanie danych
  • Zdiagnozować jakie nadmiarowe dane są zapisywane i poprawić nasz proces (np. poprzez "wyzerowanie" odpowiedniej zmiennej)
  • W skrajnych przypadkach, gdy nasza instancja oczekuje bardzo długo na przyjście zdarzenia (np. rok) możemy wykorzystać eksport stanu do podejrzenia i zmiany pewnych zapamiętanych wartości na bazie, bo w między czasie zmieniły się wymagania; ta możliwość powinna być jednak wykorzystywana z rozwagą, w szczególności w produkcyjnym środowisku bo nieodpowiednia modyfikacja uniemożliwi w ogóle wznowienie procesu;

Mamy nadzieję, że nowa funkcjonalność pomoże w przygotowaniu niezawodnych i szybkich procesów. W razie uwag prosimy o komentarze.

Na koniec chcielibyśmy również przypomnieć, że wysyłanie zadania, z jedną decyzją np. OK może być zastąpione wysłaniem informacji (aktywność wyślij informację), która nie powoduje zablokowania wykonywania instancji procesu przez co nie wymaga zapisu stanu instancji. O możliwości szybkiej zmiany decyzji na informację pisaliśmy w jednym z poprzednich wpisów. W takim przypadku wiele zyskamy gdy użyjemy informacji a wymagania biznesowe zostaną spełnione.

Przemysław Duda napisał/a o
BPM
BPM artykułów: 12

Piotr TomasiakPrzemysław Duda
Comarch Retail
Comarch Retail artykułów: 54

Witold PodgórskiJarosław GórkaKrzysztof SzeremetaMagdalena SoswaPatrycja ZemlikPaweł BaryłkoRafał BołozPaula Żarnowska-Ziobro
Comarch ERP Altum
Comarch ERP Altum artykułów: 61

Comarch ERP Altum

Witold PodgórskiPaweł PilacińskiRobert ŻuberPiotr BudzinowskiTomasz GutkowskiAgnieszka KozłowskaJoanna BałutPaulina Pacek

Mapowanie wielu parametrów poprzez kontekst

Zaktualizowano 3 lata temu

Wraz z wydaniem wersji Comarch ERP Altum Workflow 6.1 dodaliśmy nową funkcjonalność związaną z kontekstami. Jest to możliwość mapowania wielu parametrów poprzez kontekst. Implementacja nowego działania została zasugerowana przez jednego z partnerów. Zatem wychodząc naprzeciw oczekiwaniom naszych Klientów zmiana została wprowadzona możliwie najszybciej.

Jedną ze zmian, które zostały wprowadzone po stronie edytora, jest dodanie opcji "Pobierz wartość" w menu konteksty.





Zaznaczenie tej opcji spowoduje pobranie określonej wartości dla danego parametru procesu. W przykładowym procesie dodane zostały parametry id,code i tin (wszystkie mają zaznaczoną opcję "Pobierz wartość") do których przypisane zostały właściwości obiektu Customer. Wynikiem jego działania będzie wysłanie informacji do skrzynki użytkownika uruchamiającego proces o Id, kodzie oraz numerze NIP kontrahenta. Tak więc przejdźmy do uruchomienia naszego procesu z poziomu listy kontrahentów.





Po uruchomieniu procesu, do skrzynki odbiorczej użytkownika który go uruchomił, zostaje wysłana następująca informacja:





Jeżeli jeden z parametrów nie miałby zaznaczonej opcji "Pobierz wartość", w momencie uruchomienia procesu pojawiło by się okno wyboru parametrów procesu.





Ponadto istnieje możliwość uruchomienia procesu z kontekstu dla grupy kontrahentów.





W takim wypadku uruchomią się 3 instancje naszego procesu, a użytkownik otrzyma 3 informacje do skrzynki zadań.





Zatem w chwili obecnej nie jesteśmy ograniczeni do pobierania tylko jednej wartości dla parametrów procesu, jest to istotne jeśli dany proces ma operować na kilku wartościach pochodzących z jednego obiektu.

W wersji 6.1 na potrzeby klientów francuskich został udostępniony proces Kalkulacja ceny dla jednostki podstawowej na podstawie jednostki pomocniczej.


Proces stanowi uzupełnienie funkcjonalności cenników dla jednostek pomocniczych w systemie Comarch ERP Altum. Ma on zastosowanie w sytuacji, gdy zdefiniowano tylko ceny w jednostce pomocniczej, a operacje na artykule wykonywane są zarówno w jednostce pomocniczej jak i w jednostce podstawowej.

W systemie można określać ceny artykułów zarówno w jednostce podstawowej jak i w jednostce pomocniczej. Niemniej jednak przy pobieraniu cen na dokument system przelicza ceny tylko z jednostki podstawowej na jednostkę pomocniczą. W związku z tym, przy operacjach w jednostkach podstawowych konieczne jest zdefiniowanie cen dla tych jednostek. Celem procesu będzie automatyzacja operacji definiowania cen dla artykułu w jednostce podstawowej na podstawie ceny określonej przez użytkownika dla jednostki pomocniczej.
Proces będzie uruchomiany na zapisie cennika, wskazanego w parametrach startowych procesu lub artykułu, jeżeli z poziomu artykułu zmodyfikowano określony cennik. Dostępna będzie również opcja uruchamiania procesu ręcznie, po zaznaczeniu cennika lub typu ceny, dla których proces powinien wykonać aktualizację cen. Działanie procesu będzie polegało na obliczaniu w oparciu o przelicznik jednostki pomocniczej, ceny artykułu oraz punktów w jednostce podstawowej i dodawaniu tej ceny oraz punktów do aktualizowanego cennika lub modyfikacji dotychczasowych zapisów. Proces po uruchomieniu weryfikuje ceny artykułów w jednostkach pomocniczych i jeżeli w tym samym cenniku dla tych samych artykułów nie ma zdefiniowanych cen w jednostkach podstawowych, to proces aktualizuje cenniki o ceny w jednostkach podstawowych. Proces aktualizuje również zapisy w cenniku dla jednostek podstawowych w wyniku modyfikacji przez użytkownika cen dla jednostek pomocniczych.

Reasumując mamy 3 sposoby uruchomienia procesu:


1. Dodanie/Modyfikacja ceny artykułu dla jednostki pomocniczej na karcie artykułu i kliknięcie na zapis karty (poniżej przykład aktualizacji ceny dla konkretnej partii artykułu):

Wynikiem będzie dodanie ceny w jednostce podstawowej zgodnie z przelicznikiem jn.:



2. Dodanie/modyfikacja ceny dla jednostki pomocniczej bezpośrednio w cenniku i kliknięcie na zapis cennika jn.:



Po wykonaniu procesu wyniki są następujące:



3. Ręczne uruchomienie procesu podając id typu ceny, id konkretnych cenników lub id artykułów. Możemy je wybrać za pomocą kontekstu, który po kliknięciu w przycisk Wybierz przeniesie nas do konkretnej listy w celu wybrania odpowiednich danych. Możemy również z tego poziomu wybrać czy kalkulacja ma nastąpić na podstawie ceny netto czy brutto. Proces można również uruchomić z listy cenników/artykułów lub typów ceny.

Ponadto do skrzynki zadań użytkownika, który uruchomił proces trafia informacja:



Uwaga! Proces nie uruchamia się na zapisie cennika/artykułu, jeżeli użytkownik modyfikujący cenę jest użytkownikiem, na którego uruchomiono usługę Workflow Server. Powyższe ograniczenie jest konieczne aby zapobiec zapętleniu procesu. Proces uruchamia się na zdarzeniu: zapis cennika/artykułu, a w ramach procesu wykonywana jest właśnie operacja zapisu cennika, dlatego dla rozróżnienia zdarzenia wprowadzono warunek na użytkownika wykonującego operację zapisu.


W przypadku stosowania kilku jednostek pomocniczych dla artykułu, dla poprawnego działania procesu zaleca się tworzenie odrębnych cenników dla każdej jednostki pomocniczej.
Jeżeli proces miałby być uruchamiany tylko ręcznie należy odznaczyć domyślne zdarzenia startowe w definicji procesu.
Dla optymalnej pracy procesu zaleca się wybranie opcji Brak lub Ogólny w profilu śledzenia.

Użytkownicy

Polecane