335 | | Dane wejściowe służą tym samym czym odczyt standardowego wejścia w konsoli czy programie (czyli pobraniu od użytkownika znaków) |
336 | | |
337 | | Przypisania służą nadaniu wartości dla zmiennych procedury jak również nadaniu wartości atrybutom etapu którego dotyczą. |
338 | | |
339 | | * Tworzymy etap w którym ustalimy Opiekuna (np. Określenie opiekuna) |
340 | | * W zakładce Dane wejściowe dodajemy element typu array o nazwie "Opiekun". W efekcie tego w etapie pojawia się link monitujący "Edytuj dane" |
341 | | * W etapie który chcemy zlecić Opiekunowi dodajemy Przypisanie: |
342 | | własność: {stages.orgarr} (czyli tablica wykonujących zadanie workflow) |
343 | | wyrażenie: {procedures.Opiekun} |
344 | | |
345 | | Przypisanie też możemy użyć bez konieczności pobierania danych od użytkownika, możemy je pobrać z bazy danych. Dla tego przykładu gdybyśmy chcieli pobrać Opiekuna klienta którego dotyczy sprzedaż dodalibyśmy Przypisanie z własnością: {stages.orgarr} i wyrażeniem: |
346 | | {{{ |
347 | | SELECT ARRAY[o.orunid] FROM contacts c JOIN processes USING(contid) JOIN orgtree_view o ON o.usr_id = c.macrtk WHERE prc_id = {processes.prc_id} |
348 | | }}} |
349 | | lub pobranie tablicy z wyniku zapytania |
350 | | {{{ |
351 | | SELECT ARRAY(SELECT orunid FROM orgtree_view WHERE orunid > 5); |
352 | | }}} |
353 | | |
354 | | |
355 | | |
356 | | |
| 335 | === Dane wejściowe === |
| 336 | |
| 337 | Dane wejściowe służą tym samym czym odczyt standardowego wejścia w konsoli czy programie (czyli pobraniu od użytkownika znaków). Można je pobierać z różnych |
| 338 | formantów (pól tekstowych, list wyboru, list pracowników). Najciekawszą opcją jest opcja SELECT która pozwala zdefiniować dowolną kwerendę SQL zwracającą potrzebną nam |
| 339 | w danym etapie listę (np. kierowników, księgowych, zasobów itp). Przykładowa lista dla atrybutu CZŁONEK ZARZĄDU potrzebna do wyboru osoby podpisującej umowę: |
| 340 | |
| 341 | {{{ |
| 342 | SELECT orunid as value, fullnm || ' - ' || ndenam as caption FROM orgtree_view WHERE orunid IN (3,14,15,16) |
| 343 | }}} |
| 344 | |
| 345 | Inny przykład to pobranie identyfikatora stanowiska, wystarczy w tym celu wybrać opcję orunid[]. |
| 346 | [[Image(parametry1.PNG)]][[BR]] |
| 347 | |
| 348 | |
| 349 | === Przypisania === |
| 350 | Przypisania służą nadaniu wartości dla zmiennych procedury jak również nadaniu wartości atrybutom etapu którego dotyczą. Najczęściej wykorzystuje się przypisanie stanowisk wykonujących etap poprzez przypisanie do własności {stages.orgarr} tablicy (UWAGA! dane muszą być typem tablicowym, w kwerendach należy pamiętać o rzutowaniu). |
| 351 | |
| 352 | Patrz przykład: |
| 353 | |
| 354 | [[Image(parametry2.PNG)]][[BR]] |
| 355 | |
| 356 | Tak więc dane wejściowe typu array o nazwie "Akceptant" zostały przypisane do własności {stages.orgarr} (czyli tablicy wykonujących zadanie workflow). |
| 357 | |
| 358 | Przypisanie też możemy użyć bez konieczności pobierania danych od użytkownika, możemy je pobrać z bazy danych. Dla tego przykładu gdybyśmy chcieli pobrać Opiekuna klienta którego dotyczy sprzedaż (ze sprawy) dodalibyśmy Przypisanie własności {stages.orgarr} wartości wyrażenia SQL: |
| 359 | {{{ |
| 360 | SELECT ARRAY[o.orunid] FROM contacts c JOIN processes USING(contid) JOIN orgtree_view o ON o.usr_id = c.macrtk |
| 361 | WHERE prc_id = {processes.prc_id} |
| 362 | }}} |
| 363 | |
| 364 | === Kilka słów o zmiennych === |
| 365 | W zapytaniach SQL można używać następujących wyrażeń, które zostaną zastąpione odpowiednimi wartościami: |
| 366 | * {PROCEDURES.PRC_ID} - prc_id sprawy |
| 367 | * {PRC_ID} - j.w. |
| 368 | * {SOP_ID} - id etapu/czynnności |
| 369 | * {DOC_ID} - doc_id dokumentu którego dotyczy procedura |
| 370 | |