Przejdź do głównej treści

stages.orgarr - Osoba (stanowisko) wykonujące zadanie workflow

Zakładka akcje
Zakładka akcje

Przypisanie osoby do etapu odbywa się na

aktywacji etapu (START)

Poprzez przypisanie jego stanowiska do własności:

{stages.orgarr}

Poniżej przykłady wyrażeń:

  • Przypisanie osoby do etapu z globalnej zmiennej procedury.
SELECT {$KTO_SPORZADZA}::INT[]
  • Przypisanie osób z parametru typu usr_ids[]
SELECT ARRAY(SELECT o.orunid FROM orgtree_view o WHERE o.usr_id IN ({$OSOBY}))
  • Przypisanie osoby wybranej w liście wyboru (lista typu select z wartościami orunid, przypisana do zmiennej typu Integer)
SELECT ARRAY [orunid]
FROM organization_units
WHERE orunid = {$DYREKTOR_HANDLOWY}
  • Przypisanie przełożonego osoby będącej przypisana do własności $WNIOSKODAWCA typu orunid[]
SELECT ARRAY(SELECT get_superior((SELECT orunid FROM orgtree_view WHERE orunid = ANY ({$WNIOSKODAWCA}::INT []))))
  • Przypisanie osoby (stanowiska) odpowiedzialną za sprawę.
SELECT ARRAY(SELECT o.orunid
             FROM processes p
                      INNER JOIN orgtree_view o ON p.rspuid = o.usr_id
             WHERE prc_id = {PRC_ID})
  • Przypisanie osoby tworzącej dokument
SELECT ARRAY [o.orunid]
FROM orgtree_view o
         INNER JOIN documents d ON d.adduid = o.usr_id
WHERE d.doc_id = {DOC_ID}
  • Przypisanie osoby zalogowanej
SELECT ARRAY(SELECT o.orunid FROM orgtree_view o WHERE o.usr_id = {LOGGED_USR_ID})
  • Przypisanie osoby odpowiedzialnej za MPK wpisane w fakturze (do etapu MULTI)
SELECT ARRAY(
               SELECT CASE
                          WHEN x.ndetpe = 'POST' THEN x.orunid
                          WHEN x.ndetpe = 'ORGCELL' THEN (SELECT o2.orunid
                                                          FROM orgtree_view o2
                                                          WHERE o2.prn_id = x.orunid
                                                          LIMIT 1)
                          END
               FROM (SELECT DISTINCT mpk.orunid,
                                     o.ndetpe
                     FROM vatnote_costs
                              LEFT JOIN places_of_vcosts AS mpk USING (povcid)
                              LEFT JOIN orgtree_view AS o ON mpk.orunid = o.orunid
                     WHERE doc_id = {DOC_ID})
                        AS x)

Przypisanie orunid w zależności od accdid (jednostki org. w zależności od typu dokumentu księgowego)

SELECT ARRAY(
               CASE
                   WHEN v.accdid = 1 THEN 62
                   WHEN v.accdid = 2 THEN 56
                   WHEN v.accdid = 3 THEN 61
                   WHEN v.accdid = 4 THEN 60
                   WHEN v.accdid = 5 THEN 63
                   END)
FROM vatnote v
WHERE v.doc_id = {DOC_ID}
  • Przypisanie osoby, która załatwiła poprzedni etap
SELECT ARRAY [s.orunid]
FROM stages s
         LEFT JOIN workflow_log wl USING (sop_id)
WHERE s.is_fix IS TRUE
  AND s.procid = {PROCEDURES.procid}
  AND wl.chloid = (SELECT max(chloid) FROM workflow_log WHERE procid = S.procid)
  • Przypisanie osób do etapu z tablicy VAR_OSOBY_OPISUJACE, które nie są w tablicy VAR_OSOBY_FIXED.
SELECT ARRAY(
               SELECT orunid
               FROM orgtree_view
               WHERE orunid IN (
                   SELECT *
                   FROM bs_unnest({$VAR_OSOBY_OPISUJACE}::INT[]::INT[]) AS qq
                   WHERE NOT (ARRAY [qq] <@ {$VAR_OSOBY_FIXED}::INT[])
               )
           )
  • Przypisanie osób z określonej grupy (grp_id = 9)
SELECT ARRAY(SELECT o.orunid
             FROM orgtree_view o
             WHERE o.orunid IN (SELECT o.orunid
                                FROM users_link_group ulg
                                         INNER JOIN orgtree_view o ON o.usr_id = ulg.usr_id AND ulg.grp_id = 9))

{stages.commen} Opis etapu