enova365 Harmonogram Zadań Oprogramowanie ERP do zarządzania. Wzmacnia firmę i rośnie wraz z nią. www.enova.pl, www.enova365.pl
Spis treści Spis treści Harmonogram Zadań Instalacja Soneta Server Połączenie z bazą Domyślny operator (zalecana konfiguracja) Własny operator Uruchomienie SonetaServer jako usługi systemu Windows (zalecane) Dwie lub więcej usług w jednym systemie Parametry usługi Parametry uruchamiania dla SonetaServer Soneta Serwer w trybie konsoli Opis poleceń oraz ich zastosowanie Aktualizacja SonetaSerwer Aktualizacja serwera logiki biznesowej Dodawanie harmonogramu do zadania Dodawanie harmonogramu do definicji zadania (Wyzwalanie zadań) Weryfikacja poprawnego działania Harmonogramu zadań 1. Sprawdź czy Harmonogram zadań został uruchomimy 2. Licencja 3. Lista baz danych 4. Weryfikacja połączenia z bazą danych 5. Logi (brak połączenia z bazą danych) 6. Zapisy wywołania zadań 7. Odczyt logów w enova Zadania globalne Uruchamianie automatycznego zadania globalnego Tworzenie własnego zadania globalnego 2 3 5 7 7 7 8 8 8 9 9 10 11 11 11 12 15 16
Harmonogram Zadań dodatek z jedną licencją na firmę Harmonogram zadań w enova jest to część systemu, dzięki której możemy sprawić, że akcje dotychczas wykonywane przez użytkownika będą inicjowane przez dodatek o określonym czasie lub w momencie wystąpienia konkretnego zdarzenia. Harmonogram zadań można traktować jako automatycznego operatora, który loguje się do bazy danych i wykonuje określone operacje o zadanym czasie. Od strony technicznej jest to osobna aplikacja, która łącząc się z bazą danych realizuje zaplanowane operacje. Schemat działania harmonogramu zadań Harmonogram zadań cyklicznie sprawdza, czy w bazie danych istnieją konkretne zadania do wykonania (zapis w tabeli ScheduleItem). Wskazuje on na zadanie oraz harmonogram według, którego ma być wywoływane. Dwoma kluczowymi pojęciami w Harmonogramie zadań są wyzwalacze i akcje: wyzwalacz: powoduje uruchomienie zadania, akcja: jest pracą wykonywaną po uruchomieniu zadania. Lista przykładowych zastosowań dodatku Harmonogram zadań wraz z rodzajami modułów potrzebnych do realizacji procesu*: # Automatyczna aktualizacja kursów walut (licencje: Workflow) Codzienna aktualizacja kursów walut zgodnie z kursami NBP - gotowe rozwiązanie. Wysyłka do dłużników powiadomień o niezapłaconych fakturach (licencje: Workflow, Faktury) Harmonogram zadań sprawdza, którym z niezapłaconych faktur minął termin płatności. Po odnalezieniu takiej wysyła automatycznie powiadomienie w formie emaila do dłużnika. # Importowanie zapisów z RCP(licencje: Kadry, dodatek Import/Export RCP) Automatyczne importowanie plików z wejściami oraz wyjściami z czytnika czasu pracy - gotowe rozwiązanie. Generowanie raportów np. na koniec miesiąca (licencje: Workflow, Inny moduł - w zależności od tego, czego dotyczą raporty) Automatyczne generowanie raportów miesięcznych (pierwszego dnia miesiąca), które uwzględniają wskazane dane. Planowanie zadań do wykonania (licencje: Workflow, CRM) Pracownik może zaplanować wykonanie konkretnego zadania np. wysyłka maili o określonej godzinie. Przypomnienia w formie sms/email o wykonaniu zadania (licencje: Workflow, enova SMS, CRM) W przypadku zbliżającego się zadania/spotkania do wykonania, np. czas rozpoczęcia za 30minut, wysyłane jest przypomnienie w formie sms na zdefiniowany numer/y. Wysyłka zdefiniowanych życzeń/podziękowań na różne okazje (święta, rocznice itp.) (licencje: Workflow, CRM) Wraz z nadchodzącymi świętami lub rocznicami wysyłane są maile zawierające wcześniej zdefiniowane treści do kontrahentów. Automatyczne uruchomienie procesu tworzenia nowego newslettera (licencje: Workflow, CRM) Cykliczne wywołanie procesu składającego się z utworzenia treści wiadomości, wrócenia do korekty / zaakceptowania jej przez osobę decyzyjną oraz wysyłki do adresatów. Wysyłka informacji do klienta o zbliżającym się przeglądzie sprzętu + lokalna informacja w okienku. (licencje: Workflow, Serwis, Wypożyczalnia) Na tydzień przed terminem przeglądu konkretnego sprzętu generowane jest przypomnienie wysyłane do klienta za pomocą emaila oraz wyświetlane jest przypomnienie lokalnie w enova. Eskalowanie wniosku urlopowego (licencje: Workflow, Kadry) W przypadku, gdy pracownik złoży wniosek urlopowy, przynajmniej tydzień przed planowanym urlopem, a ten nie zostanie zaakceptowany lub odrzucony w ciągu dwóch dni, zostaje przekazany kolejnej osobie zgodnie ze strukturą organizacyjną firmy. Weryfikacja danych z RCP z nieobecnościami i spóźnieniami. (licencje: Workflow, Kadry) Tworzenie tygodniowego podsumowania uwzględniającego rozbieżności pomiędzy obecnościami i nieobecnościami pracowników w firmie. Dodatkowo uwzględniające spóźnienia oraz tygodniowy czas pracy (suma). Automatyczny import danych z plików (licencje: Workflow + moduł z którego obszaru wykonywany jest import) Po pojawieniu się plików w określonych katalogach może zostać dokonany import danych z plików. # Automatyczna kopia bezpieczeństwa bazy danych (licencje: Workflow) O określonej porze wykonywana jest kopia bazy danych, na której pracuje enova - gotowe rozwiązanie. Wykonywanie zdjęć danych (kostek analitycznych) w celu aktualizacji bazy analitycznej (licencje: Workflow, AWW) Unikając przeciążeń serwera wykonywane są kostki analityczne do bazy analitycznej w godzinach nocnych zgodnie z harmonogramem. 3/17
*Wymagana jest również licencja dla dodatku Harmonogram Zadań. W tym dziale zawarte zostały podstawowe elementy dotyczące instalacji oraz konfiguracji harmonogramu zadań. 4/17
Instalacja Soneta Server Wymagania: system Microsoft Windows 7 lub wyższy, Microsoft Windows Server 2008 SP2 lub wyższy, pełny pakiet.net Framework 4.0 (Client Profile + Extended), wgrane wszystkie krytyczne aktualizacje do systemu Windows i.net Framework, na komputerze / serwerze, na którym ma działać usługa, nie może być w katalogu: Program Files/Common Files/Soneta/Assemblies bibliotek wykorzystujących referencje do Windows.Forms W przypadku wykorzystywania dodatków możliwe jest zmienienie domyślnej ścieżki pobierania dodatków przez SonetaServer Instalator dodatku Harmonogram Zadań jest dostępny w Strefie Partnerów. Po uruchomieniu instalatora ukaże się okno kreatora. Przechodzimy dalej Pierwszy krok instalacji Soneta Server Wybieramy ścieżkę instalacji. Można zostawić domyślnie podaną. Drugi krok instalacji Soneta Server 5/17
Trzeci i ostatni krok instalacji Soneta Server Zakończenie instalacji. W tym momencie na naszym komputerze pracuje już usługa enovaserver - widoczna w procesach jako SonetaServer.exe dla użytkownika System. 6/17
Połączenie z bazą Do poprawnego działania harmonogramu zadań wymagana jest konfiguracja połączenia do jednej lub wielu baz danych, na których harmonogram ma wykonywać zadania. Konfiguracja jest realizowana podobnie jak w przypadku klasycznej enovy za pomocą pliku *.xml (Lista baz danych.xml). W przypadku uruchomienia serwera biznesowego SonetaServer jako usługi, należy zwrócić uwagę na ustawienia logowania do serwera SQL, np. czy logowanie do serwera oparte jest o Windows Authentication czy o SQL Server Authentication, oraz na jakim koncie pracuje usługa. Jeśli połączenie do SQL oparte jest o Windows Authentication, wówczas usługa SonetaServer powinna być uruchomiona na użytkowniku Windows z odpowiednimi uprawnieniami na serwerze SQL a nie na domyślnym koncie systemowym. Jeśli komunikacja pomiędzy enova a serwerem SQL odbywa się po użytkowniku SQL-owym wówczas usługa SonetaServer może być uruchomiona na domyślnym koncie systemowym. Domyślny operator (zalecana konfiguracja) Harmonogram zadań ma zdefiniowanego domyślnego operatora logującego się do bazy danych. Operator nosi nazwę Harmonogram zadań i jest domyślnie zablokowany - aby umożliwić połączenie się Harmonogramu zadań z bazą należy go odblokować. Pod takim loginem będzie również widoczny w logach (ChangeInfo) podczas wykonywania operacji w bazie danych. Operator ten posiada rolę o nazwie HZ dla której nie zostały podpięte żadne licencje. Uwaga! Należy pamiętać o skopiowaniu konfiguracji z enovy (domyślnie C:\Users\\AppData\Roaming\Soneta\Lista baz danych.xml) do katalogu instalacji Harmonogramu zadań (domyślnie C:\Program Files (x86)\soneta\soneta Server\Configurations) Plik Lista baz danych.xml zawiera konfigurację która pozwala Harmonogramowi zadań (Soneta Server) na połączenie z bazą danych. Własny operator W przypadku gdy chcemy aby logowanie następowało na innego operatora możemy wskazać go w ustawieniach połączenia z bazą. Konfiguracja połączenia z bazą danych serwera jest możliwa poprzez edytowanie pliku Lista baz danych.xml który znajduje się w katalogu Configurations w głównym katalogu serwera, domyślnie: Program Files (x86)\soneta\soneta Server\. Należy pamiętać o wyłączeniu Logowania zintegrowanego oraz wpisaniu nazwy operatora i hasła. Na zakładce Operator należy podać nazwę Operatora oraz hasło. Logowanie do bazy danych - ogólne 7/17
Logowanie do bazy danych Operator Uruchomienie SonetaServer jako usługi systemu Windows (zalecane) Zalecaną konfiguracją jest instalacja i uruchomienie SonetaServer jako usługi Windows. Usługa zostanie automatycznie dodana podczas korzystania z instalatora Harmonogramu zadań. Jeśli chcemy ręcznie dodać usługę to tym celu uruchamiamy konsolę Windows poprzez opcję Uruchom jako administrator i korzystamy z polecenia: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\enova365Server\ SonetaServer.exe W przystawce Services z panelu sterowania, ustawiono dla usługi enova Server automatyczne uruchamianie, a następnie uruchomiono usługę. Standardowo usługa SonetaServer nasłuchuje na porcie TCP 22000. Można to sprawdzić, wydając w konsoli Windows polecenie: netstat an Dwie lub więcej usług w jednym systemie Możliwe jest uruchomienie dwóch lub więcej usług Soneta Server na jednym systemie. Aby zainstalować kolejną usługę należy skorzystać z narzędzia instalatora InstallUtil.exe Podczas instalacji należy podać przede wszystkim inny katalog dla pliku SonetaServer.exe oraz nazwę samej usługi, która ma być zainstalowana. Przykładowe polecenie: Installutil.exe /servicename="enova365" C:\SonetaServer_1\SonetaServer.exe Powyższe polecenie spowoduje dodanie nowej uslugi o nazwie enova365, a plik exe, na podstawie którego będzie działała znajduje się w katalogu C:\SonetaServer_1\SonetaServer.exe UWAGA! Po instalacji należy zmienić numer portu dla zainstalowanej usługi tak aby dwie usługi nie pracowały na tym samym porcie. Parametry usługi Podobnie jak w przypadku uruchomienia SonetaServer z konsoli, również dla SonetaServer uruchomionej jako usługa Windows, port komunikacyjny może zostać zmieniony z domyślnego na inny. W tym celu konieczne jest zmodyfikowanie wpisu w kluczu ImagePath rejestru systemowego: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\enovaServer ImagePath i dopisanie do ścieżki usługi odpowiedniego portu, np. C:\enova365Server\SonetaServer.exe /port:22003 8/17
Dodawanie parametrów do usługi Zmiany będą miały zastosowanie po restarcie usługi SonetaServer. Parametry uruchamiania dla SonetaServer /noscheduler bez uruchomienia mechanizmu Scheduler - nie będą w ogóle przeliczane zadania przez HZ /port wskazanie innego niż domyślny portu, na jakim nasłuchiwać ma SonetaServer, /dbconfig wskazanie innego niż domyślny, katalogu z listą baz danych /extpath wskazanie innego niż domyślny, katalogu z dodatkami Soneta Serwer w trybie konsoli Do testowania serwera możliwe jest uruchomienie go w trybie konsoli. Aby uruchomić serwer w trybie konsoli należy w terminalu wywołać: SonetaServer.exe /console Przed wywołaniem musimy znajdować się w folderze gdzie został zainstalowany serwer, domyślnie c:\program Files (x86)\soneta\soneta Server. Przy takiej ścieżce instalacji należy skorzystać w konsoli najpierw z polecenia: cd c:\program Files (x86)\soneta\soneta Server\ Serwer w trybie konsoli Pracując w trybie konsoli mamy do dyspozycji następujące polecenia: q, aby wyjść i przerwać pracę serwera, 9/17
d, aby wyświetlić listę bazy danych dostępną w konfiguracji, s, aby wyświetlić bazy danych z którymi harmonogram zadań się połączył, c, aby wyświetlić kategorie logów, l, aby wyświetlić log, t, aby wyświetlić timery, r, aby odświeżyć ekran, F12, okno deweloperskie dla ostatniej bazy danych. Po wybraniu jednej z opcji serwer zwraca od razu wynik (nie trzeba akceptować enterem). W przypadku wybrania błędnego polecenia, np. wpiszemy f zamiast d możemy bezpośrednio po wpisanym błędnie poleceniu wpisać nowe, poprawne. Opis poleceń oraz ich zastosowanie Polecenie d (Database) - wyświetla bazę danych z którą jesteśmy aktualnie połączenie. Polecenie c (Category) - zwraca dostępne kategorie logów, którymi dysponuje aktualnie Soneta Serwer. Polecenie l (Log) wyświetlenie logów dla wskazanej bazy danych oraz kategorii logów Uwaga, podczas podawania nazwy bazy danych oraz nazwy bazy danych należy pamiętać o wielkości liter. Przykład zastosowania poleceń "d", "c" oraz "l" Polecenie t (Timer) wyświetla zdarzenia, które miały miejsce na serwerze dla wybranej bazy oraz wybranej kategorii logów. Uwaga, podczas podawania nazwy bazy danych oraz nazwy bazy danych należy pamiętać o wielkości liter. Polecenie s wyświetla bazy danych z którymi jest aktualnie połączony serwer Polecenie r (Refresh) odświeża okno konsoli pozostawiając jedynie port na którym pracuje Soneta Serwer, aktualny status oraz dostępne polecenia. Użycie klawisza F12 powoduje rozpoczęcie / zakończenie śledzenia pracy serwera. Po zakończeniu mamy do dyspozycji narzędzie projektowe zawierające różnego rodzaju logi. 10/17
Polecenie q (Quit) - kończy pracę Soneta Server Narzędzia projektowe Soneta Server Aktualizacja SonetaSerwer Aktualizację środowiska należy przeprowadzić przy wylogowanych operatorach enova. Aktualizacja serwera logiki biznesowej Przed aktualizacją serwera logiki biznesowej zalecane jest utworzenie kopii pliku C:\enova365Server\Configurations\Lista baz danych.xml Aby dokonać aktualizacji serwera logiki biznesowej należy pobrać instalator ze strefy dla Partnerów i postępować według kroków zawartych w opisie Instalacja. Uwaga, należy pamiętać o tym, że wersja instalatora musi być zgodna z wersją na jakiej pracuje baza danych, którą chcemy obsługiwać za pomocą Harmonogramu zadań. Po zakończonej instalacji usługa SonetaServer powinna uruchomić się automatycznie. Dodawanie harmonogramu do zadania W celu dodania harmonogramu do zadania należy otworzyć wybrane zadanie i przejść na zakładkę Automatyczne akcje. Z belki wybieramy "Nowy (Definicja harmonogramu)". W tym momencie do zadania dodany zostaje harmonogram automatycznych akcji. W harmonogramie należy wskazać: Nazwa Rozpoczęcie cyklu (może pozostać puste) Zakończenie cyklu (może pozostać puste) Cykl Nazwa akcji automatycznej W tym momencie do zadania dodany zostaje harmonogram automatycznych akcji. Tak dodany harmonogram należy aktywować za pomocą przycisku "Aktywuj". 11/17
Efekt: Zadanie z harmonogramem zadań Do zadania zostanie dodany harmonogram zadań według którego będzie przeliczane. Po wciśnięciu przycisku Aktywuj zostanie wygenerowany ScheduleItem mówiący o tym kiedy ma być dane zadanie przeliczone (wykonane). Przy przeliczaniu zadania (taska) wywołany zostanie tylko algorytm, który został zdefiniowany w AutoAction na definicji zadania i wskazany na definicji harmonogramu w polu "Nazwa akcji automatycznej" Dodawanie harmonogramu do definicji zadania (Wyzwalanie zadań) Dodanie harmonogramu zadań do definicji zadania następuje w sekcji "Wyzwalanie zadań", poprzez "Nowy (Definicja harmonogramu)". Definicja zadania Efekt: 12/17
Harmonogram będzie aktywowany w momencie gdy zostanie zainicjowane zadanie na podstawie tej definicji. Zostanie wygenerowany ScheduleItem mówiący o tym kiedy ma być dane zadanie przeliczone (wykonane). Weryfikacja poprawnego działania Harmonogramu zadań 1. Sprawdź czy Harmonogram zadań został uruchomimy Harmonogram jako usługa: sprawdź w usługach systemowych usługę SonetaServer. Harmonogram w trybie konsoli: otwórz konsolę i upewnij się, że usługa została poprawnie uruchomiona. 2. Licencja Sprawdź czy w bazie jest dodana licencja na dodatek Harmonogram zadań: Pomoc / Licencje dodatków. 3. Lista baz danych Sprawdź czy w konfiguracji w katalogu instalacyjnym Soneta Server(domyślnie C:\Program Files (x86)\soneta\soneta Server\Configurations) znajduje się plik Lista baz danych.xml i czy zawiera on wszystkie potrzebne dane do połączenia z bazą. 4. Weryfikacja połączenia z bazą danych Harmonogram zadań loguje się do bazy danych tylko jeden raz - po uruchomieniu. W celu sprawdzenia czy połączył on się z bazą danych należy: dla trybu usługi: przejść do Opcje/Systemowe/Zmiany rekordów. W kolumnie Operator należy odfiltrować logowanie dla "Harmonogram zadań" dla trybu konsoli: można jak wyżej lub w konsoli użyć skrótu klawiszowego "s" w celu wyświetlenia statusu zalogowania operatora do bazy danych. Uwaga! W przypadku zmiany nazwy operatora logującego się do bazy danych za pomocą harmonogramu zadań należy szukać operatora wskazanego w konfiguracji - Więcej o wskazywaniu zdefiniowanego operatora do logowania. 5. Logi (brak połączenia z bazą danych) W przypadku gdy Harmonogram zadań nie może się połączyć ze wskazaną bazą danych, loguje błędy do plików, których nazwa jest taka sama jak nazwa bazy w której wystąpił problem. Pliki znajdują się w katalogu C:\Users\\AppData\Local\Soneta\SonetaServer (%AppData%/../Local/Soneta/SonetaServer). 6. Zapisy wywołania zadań W Podglądzie tabel / Core / ScheduleItem sprawdź czy został wygenerowany wpis informujący o kolejnym przeliczeniu (wywołaniu) zadania. Jeżeli w tabeli nie widać wpisu dotyczącego naszego zadania oznacza to, że harmonogram zadań nie został poprawnie ustawiony dla tego zadania. 7. Odczyt logów w enova W Podglądzie tabel / Core / JobInvokeLog sprawdź czy nie został zwrócony błąd. Dodatkowe logowanie błędów można wywołać z poziomu kodu na definicji zadania - opis dla programistów. Zadania globalne W celu ułatwienia konfiguracji harmonogramu zadań oraz dodawania i zarządzania zadaniami globalnymi w konfiguracji Workflow dodano folder Harmonogram zadań (Narzędzia/Opcje/Workflow). Zadania globalne (taski) związane są z głównym węzłem konfiguracyjnym (CfgNode). /17
W folderze znajdują się następujące listy: Menu w konfiguracji Definicje harmonogramów zadań - Lista zawiera definicje harmonogramów zadań podpiętych pod zadania. Możliwe filtrowanie według "Wszystkie" oraz "Systemowe" - powiązane z CfgNode. Lista definicji harmonogramów zadań Definicje zadań globalnych - zawiera listę definicji zadań dla typu danych CfgNode z możliwością dodania nowej definicji zadania tylko do CfgNode. Lista definicji zadań globalnych Planowane wywołania - zawiera wygenerowane na podstawie definicji harmonogramu zadań ScheduleItemy. Możliwe filtrowanie według "Wszystkie" oraz "Systemowe" - powiązane z zadaniami dla typu danych CfgNode. 14/17
Lista planowanych wywołań Zadania globalne - zawiera listę zadań wygenerowanych na podstawie definicji zadania dla typu danych CfgNode, na liście nie są wyświetlane zadania z powiadomień. Możliwe jest utworzenie zadania na podstawie określonej definicji zadania związanej z CfgNode oraz dodanie definicji harmonogramu zadań i wygenerowanie ScheduleItema po aktywowaniu dodanej definicji harmonogramu. Lista zadań globalnych Folder i listy widoczne są gdy jest spełniony jeden z poniższych warunków: pełna platyna, licencja na dodatek Harmonogram zadań, demo złote lub platynowe. Uruchamianie automatycznego zadania globalnego W uruchomienia globalnego zadania należy przejść do Opcje/Workflow/Harmonogram zadań/zadania globalne, następnie z belki na górze wybrać "Nowy (Zadanie)". Wskazujemy definicję dla której ma zostać wygenerowane zadanie. 15/17
Lista definicji zadań globalnych Po wybraniu zadania należy przejść na zakładkę Automatyczne akcje. Z belki wybieramy "Nowy (Definicja harmonogramu)". W tym momencie do zadania dodany zostaje harmonogram automatycznych akcji. W harmonogramie należy wskazać: Nazwa Rozpoczęcie cyklu (może pozostać puste) Zakończenie cyklu (może pozostać puste) Cykl Nazwa akcji automatycznej Tak dodany harmonogram należy aktywować za pomocą przycisku "Aktywuj" - wygenerowany zostanie ScheduleItem. Zadanie z harmonogramem zadań Tworzenie własnego zadania globalnego W celu utworzenia własnej definicji zadania globalnego, należy utworzyć definicję zadania (TaskDefinition) typu CfgNode. Na definicji należy umieścić w Inne metody akcję automatyczną zawierającą zaimplementowane czynności do wykonania. Przykład kodu akcji automatycznej dla tworzenia kopii bezpieczeństwa bazy danych: [AutoAction("Kopia bazy danych")] //Rejestracja akcji automatycznej public void AutomatycznaKopia(){ Session.Login.Database.Backup(@"D:\KopiaBazy_" + DateTime.Now.ToString("yyyy-MM-dd_-_HH-mm-dd") + ".bac"); } 16/17
last-page Pomoc techniczna - 12 261 36 45, techniczne@enova.pl Pomoc Handel - 12 261 36 44, handel@enova.pl Pomoc Księgowość - 12 261 36 43, ksiegowosc@enova.pl Pomoc Kadry Płace - 12 261 36 42, place@enova.pl Pomoc CRM - 12 261 36 48, crm@enova.pl Pomoc Workflow - 12 261 36 45, workflow@enova.pl Soneta Sp.z o.o. ul. Wadowicka 8A, 30-415 Kraków, tel./fax +48 12 261 36 41, e-mail: info@enova.pl, www.enova.pl, www.enova365.pl