RGI_MGAMA_BUSENA_TV

MGAMA vidinė SQL procedūra RGI_MGAMA_BUSENA_TV naudojama, kuriant būsenų tvirtinimo procedūras ar formules, kuriose naudojami standartiniai parametrai ir veikimas. Ši procedūra pasirūpina papildomų tvirtintojų ar informuojamų vartotojų sukūrimu bei peršokimų į kitas būsenas parengimu. Tačiau ši procedūra neužpildo turinio (XML schemos).

Parametrai:

Parametras Reikšmė
@result varchar(max) output grąžinamas schema konfigūracinis sakinys, kuris turi būti įkeliamas į atsakymą
@owner char(12) output operacijos atsakingas asmuo. Galima nurodyti atsakingą asmenį.
Nenurodžius bus priskirtas asmuo pirmas atlikęs tvirtinimo operaciją.
@modul char(2) operacijos modulis
@op char(12) operacijos kodas
@user char(12) vartotojo kodas
@veiksmas char(1) Veiksmas: I – init, U – peržiūra, P – patvirtinimas, A - atmetimas
@kodas_be char(12) esamos būsenos kodas
@pastaba varchar(150) atšaukimo priežastis
@istorija numeric(1,0) rodyti tvirtinimo istoriją tvirtinimo operacijoje
@dok1 numeric(1,0) dokumentas. Pagal nutylėjimą rodoma. Galima nurodyti griežtai: 0 - nerodyti, 1 - rodyti
@dok2 numeric(1,0) dokumentai. Pagal nutylėjimą rodoma. Galima nurodyti griežtai: 0 - nerodyti, 1 - rodyti
@pad_pap numeric(4,0) tvirtina padalinio vadovas, kuris nurodomas padalinio aprašymo "akinukuose"
(padaliniai turi būti kursoriuje #RGI_MGAMA_BUSENA_TV_kodas_is (kodas_is) )
@vart_owner numeric(1,0) tvirtinti turi operacijos savininkas
@vart_sar char(12) nurodžius parametrą, tvirtinimą atlieka vartotojai iš nurodyto sąrašo priskirti tvirtinamai operacijai.
Sąrašai sudaromi funkcija mgama_vart_forma().
@vart_sar_b numeric(4,0) į kurią būseną peršokti, kai nėra tvirtinančio vartotojo sąraše
@inf numeric(1,0) parametras nustato kas bus informuojamas apie būsenos pasikeitimą:
1 - informuoti operacijos savininką (vartotoją, kuris sukūrė operaciją) ,
2 - informuoti visus operacijose tvirtinime dalyvavusius asmenis
@inf_sar char(12) nurodžius parametrą, apie pasikeitusią būseną bus informuoti vartotojai iš nurodyto sąrašo priskirti tvirtinamai operacijai.
Sąrašai sudaromi funkcija mgama_vart_forma().
@inf_vart char(12) nurodomas vartotojas ar vartotojų grupė, kuriuos reikia informuoti apie pasikeitusią būseną
@auto_tv numeric(4,0) parametre nurodomas būsenos kodas, į kurią bus automatiškai peršokama, jei operacijos tvirtinimą atlieka asmuo, kuris kartą jau patvirtino operaciją
@auto_b numeric(4,0) nurodoma į kurią būseną peršokti, kai prašymą pateikia tas pats žmogus, kuris yra ir tvirtintojas
@atsaukti numeric(1,0) leisti atšaukti būseną pačiam prašymą pateikusiam darbuotojui
@bukle numeric(1,0) atmetimo atveju galima pakeisti operacijos būklę į "Anuliuota", kurios nėra rodomos kalendoriuje
@vad numeric(1,0) formuoti vadovą
(personalo operacijos turi būti kursoriuje #RGI_MGAMA_BUSENA_TV_kodas_6a (kodas_6a) )
@vad_pap numeric(4,0) vadovas iš papildomo lauko etatuose padalinyje
(personalo operacijos turi būti kursoriuje #RGI_MGAMA_BUSENA_TV_kodas_6a (kodas_6a) )
@vad_pap_b numeric(4,0) į kurią būseną peršokti kai nėra tvirtinančio papildomo vadovo
@reset numeric(1,0) šioje būsenoje, pašalinami visi kiti tvirtinimai operacijai

Privalomi parametrai paryškinti.

Procedūra grąžina:

  • <0 – klaida
  • 0 – suveikė tvarkingai
  • >0 – grąžina būsenos numerį į kurį reikia peršokti

Naudojimas:

declare @tv_xml_result VARCHAR(MAX), @tv_result int, @kodas_6a char(12)
    select I11_KODAS_IS as kodas_is into #RGI_MGAMA_BUSENA_TV_kodas_is from dbo.I11_INH where I11_KODAS_IN = @op -- padalinių sąrašas
    select K16_KODAS_6A as kodas_6a into #RGI_MGAMA_BUSENA_TV_kodas_6a from dbo.K42_OD, dbo.I38_IRYS, dbo.K16_OPH where I38_MODUL1=@modul and I38_KODAS1=K42_KODAS_OD and I38_MODUL2='6A' and K42_KODAS_OD=@op and K16_KODAS_6A=I38_KODAS2 and K16_TIPAS in (1,2) /* Priėmimas į etatą ir perkėlimas */
    exec @tv_result=dbo.RGI_MGAMA_BUSENA_TV 
        @result=@tv_xml_result output
        ,@owner=@owner output
        ,@modul=@modul
        ,@op=@op
        ,@user=@user
        ,@veiksmas=@veiksmas
        ,@kodas_be=@kodas_be
        ,@pastaba=@pastaba
        ,@istorija=@istorija
        ,@dok1=null
        ,@dok2=null
        ,@atsaukti=@atsaukti
        ,@pad_pap=@pad_pap
        ,@vart_sar=@vart_sar
        ,@vart_sar_b=@vart_sar_b
        ,@inf=@inf
        ,@inf_sar=@inf_sar
        ,@inf_vart=@inf_vart
        ,@auto_tv=@auto_tv
        ,@auto_b=@auto_b
    if @tv_result<>0 -- Būsenos pakeitimas ar kt. - nieko daryti daugiau nereikia
        return @tv_result