Zmiany pomiędzy wersją początkową i wersją 1 dla DeployerGuide/Customization/ProcessAutomation

Pokaż
Ignoruj:
Data i czas:
10/22/09 12:04:05 (15 years temu)
Autor:
JP (IP: 213.227.67.33)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Customization/ProcessAutomation

    v1 v1  
     1= [wiki:DeployerGuide Przewodnik wdrożeniowca] > Automatyzacja procesów workflow = 
     2 
     3== Podstawowe informacje == 
     4 
     5API Komend akcji 
     6Obecna implementacja komend nie uwzględnia ich pełnej funkcjonalności a jest jedynie zalążkiem. API komend będzie formatu podobnego do csv <nazwa_param>="wartość"[,] czyli np. 
     7{{{ 
     8target="20",dscrpt="Wezwanie, uwaga!" 
     9status="4",controlQuery="SELECT status = 3 FROM processes WHERE prc_id=$prc_id"  
     10}}} 
     11Nie zaleca się na obecnym etapie stosowania znaków specjalnych w wartościach parametrów, między nawiasami powinna się znaleść wartośc liczbowa ("5") lub tekstowa bez znaków specjalnych ("Wezwanie do wykonania etapy") 
     12API parametrów dla komend 
     13 
     14Od wersji 2.2 została dodana możliwość wprowadzania komunikatów w klasach komend, czyli po wykonaniu komendy otrzymujemy informację jak poniżej 
     15 
     16[[Image(zal.gif, nolink)]] 
     17 
     18'''Przekaż dokument''' 
     19 
     20Komenda służy do automatycznego przekazywania dokumentu na wybrane stanowiska za pomocą komendy oraz procedury. 
     21 * to = "1" - parametr wskazujący do kogo ma zostać przekazany oryginał , jeśli parametru nie będzie, lub będzie pusty oryginał zostaje 
     22 * dw = "2,3,4,5" - do wiadomości 
     23 * udw = "6,7,8" - ukryte do wiadomości 
     24 
     25Każda z tych wartości to orunid (najlepiej sprawdzić w orgtree_view) 
     26 
     27'''Sprawdź czy pole jest wypełnione''' 
     28 
     29Komenda służy do sprawdzania czy dane pole formularza jest wypełnione. Przyjmuje 3 parametry z czego 1 jest konieczny. 
     30 * field="featid|8" lub "symbol" - pole które ma sprawdzić 
     31 * alert = "Wypełnij pole symbol" - wiadomość w przypadku pustej wartości w polu 
     32 * doAlertField = "t" - czy ma podświetlić pole jeśli było wymagane jako wypełnione (domyślnie f) 
     33 
     34W przypadku parametru field może on obsłużyć zarówno cechy jak i inne pola. 
     35W przypadku cechy wpisujemy featid|id cechy z tabeli features dla której będzie wykonywana komenda. Jeśli podamy inny klucz wtedy zostanie od sprawdzony w danych formularza. Klucz wtedy powinien się nazywać tak samo jak nazwa kolumny w bazie w tabeli documents lub processes. Komenda nie pozwala na jednoczesne sprawdzanie dla kilku pól jednak jest możliwość ustawienia kilku tych samych komend z innymi parametrami dla akcji przed lub po zapisie etapu. 
     36 
     37W przypadku jeśli cena będzie wpisana etap zostanie zaznaczony jako wykonany. 
     38 
     39'''Sprawdź prawdziwość warunku SQL''' 
     40 
     41Komenda służy do sprawdzania warunku SQL. Komenda może być użyta tylko dla definicji etapu. Przyjmuje 3 parametr  
     42 * query ="SELECT cena IS NOT NULL FROM table WHERE prc_id = {PRC_ID}/doc_id = {DOC_ID}" - sql 
     43 * alert = "Wypełnij pole cena" - wiadomość w przypadku niespełnienia sql 
     44 * success = "Pole cena wypełnione" - wiadomość w przypadku spełnienia sql 
     45 
     46W przypadku jeśli cena będzie wpisana etap zostanie zaznaczony jako wykonany. 
     47 
     48'''Wróć do etapu''' 
     49 
     50Komenda służy do cofania procedury do konkretnego etapu podanego w parametrze. Komenda może być użyta tylko dla definicji etapu. Przyjmuje 1 parametr ptstid - id etapu z tabeli stages_def 
     51 * ptstid ="18" // np OKREŚLENIE WARTOŚCI ZLECENIA 
     52Co oznacza że po zaznaczenie danego etapu dla którego zdefiniowano taka komendę procedura zostanie cofnięta do etapu 18 (np OKREŚLENIE WARTOŚCI ZLECENIA) a co za tym idzie wszystkie etapy od 18 do aktualnie zaklikniętego włącznie zostaną ustawione na niewykonane. 
     53 
     54'''Utwórz zdarzenie''' 
     55 
     56Komenda służy do utworzenia zadania dla zalogowanego pracownika lub innego wpisanego w parametrze emp_id jaki usr_id. Zgodnie z #2390. komenda przyjmuje dwa parametry opis zadania oraz emp_id (zgodnie z wymogami komenda akceptuje parametr {LOGGED_USER} który wskazuje na zalogowanego pracownika) 
     57 * dscrpt="Aktualizacja dokumentacji wdrożenia" 
     58 * emp_id="{LOGGED_USER}" (lub usr_id z tabeli users) 
     59UPDATE 
     60Zgodnie z wymogami ticketa #3155 dodano kolejne parametry 
     61 * trmtyp="TODO" - typ zdarzenia, może być do wyboru MEETING, PHONECALL, ALARM 
     62 * start_="featid|81"; - na kiedy ma dodać zdarzenie, wartość jest pobierana z cechy dlatego definicja np featid|81 
     63 * interval="+ 4 days" - interval za jaki utworzyć się zdarzenie, można tworzyć wstecz poprzez - 
     64 
     65'''Sprawdź czy istnieje dokument''' 
     66 
     67Komenda służy do sprawdzania czy w danej sprawie występuje konkretny dokument. Zgodnie z #2082. komenda przyjmuje dwa parametry typ dokumenty (id z tabeli types_of_documents) oraz status (wartość z kolumny state_ z tabeli documents) 
     68 * dctpid="9" 
     69 * state_="2" 
     70 
     71'''Utwórz zadanie dla etapu''' 
     72 
     73Komenda działa w dwojaki sposób. Bez parametru dodaje zadanie dla aktualnie zaklikiwanego etapu. Z parametrem doda zadanie dla etapu wskazanego w parametrze. Przyjmuje 1 parametr - ptstid. Parametr ten nie jest wymagany. Parametr ptstid jest to id etapu. z tabeli stages_def. 
     74 * ptstid="9" 
     75 
     76Czyli do kolumny params w tabeli action_commands wpisujemy np. tpstid="9" lub w interfejsie użytkownika w słownikach 
     77 
     78'''Zmień status sprawy''' 
     79 
     80Obecnie przyjmuje tylko jeden parametr jest to klucz główny tpstid z tabeli types_of_processes_states który oznacza na jaki status zostanie zmieniony status sprawy. Komenda wpisuje kod statusu state_ do klucza pr_sta. Obecnie działa tylko w połączeniu ze sprawami ze względu na to iż dokumenty jest nie obsługują statusów 
     81 * tpstid="9" 
     82 
     83Czyli do kolumny params w tabeli action_commands wpisujemy np. tpstid="9" lub w interfejsie użytkownika w słownikach 
     84 
     85'''Uprawnij grupę pracowników do sprawy''' 
     86 
     87Komenda działa niezależnie od tego czy jest ustawiona dla procedury czy etapu. Uprawnia ona wpisana grupe w parametrach na określoną maskę do sprawy. Jeśli dana grupa pracowników została już wcześniej uprawniona wtedy dostajemy komunikat o tym jednak zama sprawa, komenda, etap jest zapisywana. 
     88 
     89Parametry 
     90 *  grpnam="Pracownicy" - nazwa grupy z tabeli groups 
     91 *  attrib="rwnd" - maska uprawnień według specyfikacji [wiki:Howto/ProcessPriviligesMask Integracja z systemem Subiekt] 
     92Oba parametry są wymagane czyli ciąg z parametrami wygląda np. grpnam="Pracownicy",attrib="rwnd" 
     93 
     94'''Utwórz dokument''' 
     95 
     96Komenda ta tworzy dokument dla etapu procedury (nie obsługuje utworzenie dokumentu dla procedury). Przyjmuje również tylko 2 parametry i jest nim klucz główny dctpid z tabeli types_of_documents oraz opis jaki zostanie użyty w generowanym dokumencie. 
     97 * dctpid="5"  -''id typu dokumentu'' 
     98 * dctptp="Note"  -''typ dokumentu'' 
     99 * dscrpt="Wezwanie do wykonania etapy procedury"  -''opis dokumentu'' 
     100 * do="1"  -''id jednostki do której przekazać dokument(orunid)'' 
     101 * dw="2,3,4"  -''(dw = do wiadomości) jeden lub więcej id (rozdzielone znakiem interpunkcyjnym, zwanym przecinkiem) jednostki do której przekazać kopie dokumentu(orunid)'' 
     102 
     103Przy standardowej instalacji taki parametr utworzy dokument typu notatka służbowa. [[BR]] 
     104Do kolumny params w tabeli action_commands wpisujemy np. dctpid="5",dscrpt="Wezwanie do wykonania etapy procedury" lub w interfejsie użytkownika w słownikach 
     105 
     106 
     107Póżniejsza implementacja będzie również uwzględniach parametry z formularza np nazwę etapu, procedury, lub klucz główne jak np prc_id, contid itd. Pełna funkcjonalność parametrów już niebawem ;) 
     108 
     109'''Utwórz zadanie dla następnego etapu''' 
     110Komenda tworzy zadanie dla następnego etapu procedury, o ile w kolejnym etapie jest określone stanowisko i jest na nim user.  
     111Po załatwieniu zadania automatycznie odznacza się etap procedury. Po załatwieniu etapu procedury, automatycznie zaznaczane jest zadanie jako załatwione. 
     112 
     113Parametry:  
     114 * brak możliwości określenia - mile widziane zgłoszenia w tym temacie 
     115   
     116 
     117 
     118 
     119 
     120== Dla zaawansowanych == 
     121W workflow biorą udział następujące tabele: 
     122 * procedures_def - tabela procedur - przechowuje informacje o procedurze np. Zatwierdzenie faktury kosztowej 
     123 * stages_def - tabela etapów - przechowuje definicje poszczególnych etapów np. Akceptacja Prezesa 
     124 * stages - instancje etapów - przechowuje informacje o zapisanych etapach konkretnych procesów: spraw, dokumentów 
     125 * proc_actions - akcje powiązane z procedurami lub z etapami, wykonują się przed lub po zapisie np. beforeStageChange 
     126 * action_commands - komendy wykonywane przez system na akcjach - wybierane spośród zawartych w katalogu commands - można dodać parametry, które dodają się do standardowych dwóch Obiektu Akcji oraz obiektu encji powiązanej z wykonywaną akcją np. Dokument albo Sprawa 
     127 
     128{{{ 
     129 
     130AKCJE 
     131oblig=# \d proc_actions 
     132                           Table "public.proc_actions" 
     133 Column |  Type   |                           Modifiers 
     134--------+---------+--------------------------------------------------------------- 
     135 pracid | integer | not null default nextval('proc_actions_pracid_seq'::regclass) 
     136 actnam | text    | [onBeforeProcedureChange|onAfterProcedureChange|onBeforeStageChange|onAfterStageChange] 
     137 keyval | integer | 
     138 clsnam | text    | 
     139 
     140KOMENDY 
     141oblig=# \d action_commands 
     142Table "public.action_commands" 
     143 Column |  Type   | Modifiers 
     144--------+---------+----------- 
     145 pracid | integer | 
     146 cmdnam | text    | 
     147 params | text    | 
     148 
     149}}}