Około 1 minut
stages.orgarr
- Osoba (stanowisko) wykonujące zadanie workflow
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))