MGAMA - Rivile GAMA dokumentai - diegimas

  1. Kiekvienam Rivile GAMA moduliui (pirkimams, pardavimams ir t.t.) sukuriamos atskiros DVS rūšys:

Servisas -> DVS -> DVS rūšys

dokd_05

Įvedamas kodas, pavadinimas ir tipas "Kiti dokumentai":

dokd_03

Paspaudus mygtuką "Vartotojų leidimai" suadministruojama kas galės matyti kiekvienos rūšies dokumentus (pažymimas vartotojas arba vartotojų grupė):

dokd_06

  1. Aprašoma arba susiimportuojama dokumentų sąrašo nuskaitymo formulė.

    WN11_MG_DV_NUSK_PIRKIMAI_PARDAVIMAI atsisiuntimas:

Servisas -> Kortelės -> Formulės

dokd_01

-- Dokumentų sąrašo nuskaitymas
declare @kodas_rd char(12) -- DVS rūšies kodas

-- Pirkimų operacijų sąrašas
select @kodas_rd='MGAMA_SS_F08'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            'PO' as modul,
            I06_KODAS_PO as kodas_op,
            I06_OP_TIP as op_tipas,
            I06_BUSENA as busena,
            rtrim(rtrim(I06_PAV)) as apr1,
            'Pirkimai: '+
            (case   when I06_OP_TIP in (1) then 'Sąskaita '
                    when I06_OP_TIP in (2) then 'Grąžinimas '
                    when I06_OP_TIP in (3) then 'Užsakymas '
                    when I06_OP_TIP in (4) then 'Pasiūlymas '
                    else 'Dokumentas ' end) as apr2,
            rtrim(I06_DOK_NR)+'  '+left(convert(varchar(23),I06_OP_DATA,102),10)+'  '+rtrim(I06_PASTABOS) as apr3,
            I06_DOK_DATA as op_data,
            I06_R_DATE as r_date,
            '' as search_expr
    from dbo.I06_PARH
    where I06_OP_TIP in (1,2) -- Tik važtaraštis ir grąžinimas
        and I06_DOK_DATA>=convert(datetime,left(convert(varchar(23),dateadd(year,-2,getdate()),102),4)+'.01.01',102) -- Paskutiniai 2 metai

-- Pardavimų operacijų sąrašas
select @kodas_rd='MGAMA_SS_F09'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            'RO' as modul,
            I06_KODAS_PO as kodas_op,
            I06_OP_TIP as op_tipas,
            I06_BUSENA as busena,
            rtrim(rtrim(I06_PAV)) as apr1,
            'Pardavimai: '+
            (case   when I06_OP_TIP in (51) then 'Sąskaita '
                    when I06_OP_TIP in (52) then 'Grąžinimas '
                    when I06_OP_TIP in (53) then 'Užsakymas '
                    when I06_OP_TIP in (55) then 'Pasiūlymas '
                    when I06_OP_TIP in (54) then 'Rezervavimas '
                    else 'Dokumentas ' end) as apr2,
            rtrim(I06_DOK_NR)+'  '+left(convert(varchar(23),I06_OP_DATA,102),10)+' '+rtrim(I06_PASTABOS) as apr3,
            I06_DOK_DATA as op_data,
            I06_R_DATE as r_date,
            '' as search_expr
    from dbo.I06_PARH
    where I06_OP_TIP in (51,52) -- Tik važtaraštis ir grąžinimas
        and I06_DOK_DATA>=convert(datetime,left(convert(varchar(23),dateadd(year,-2,getdate()),102),4)+'.01.01',102) -- Paskutiniai 2 metai

-- Pavyzdys: norint turėti kontekstinę paiešką pagal prekę dokumente (naudoti atsakingai - gali veikti lėtai):
-- MS SQL:
-- update #RGI_MGAMA_DVS_OP_LIST set search_expr=(STUFF((select '-' + rtrim(I07_PAV)+'-'+rtrim(I07_KODAS) as [text()] from I07_PARD where I07_KODAS_PO=kodas_op group by I07_PAV, I07_KODAS FOR XML PATH('') ),1,1,'')) where kodas_rd in ('MGAMA_SS_F08','MGAMA_SS_F09')
-- Sybase:
-- update #RGI_MGAMA_DVS_OP_LIST set search_expr=(select LIST(search_line,'-' ORDER BY search_line) as search_str from (select rtrim(I07_PAV)+'-'+rtrim(I07_KODAS) as search_line from I07_PARD where I07_KODAS_PO=I06_KODAS_PO group by I07_PAV, I07_KODAS ) as A) where kodas_rd in ('MGAMA_SS_F08','MGAMA_SS_F09')

Pastaba. Po 2025.01.14 d. atnaujinimų, MGAMA dokumentų sąraše bus galima matyti ir atsargų bei personalo dokumentus.

WN11_MG_DV_NUSK_20260114 atsisiuntimas:

-- Dokumentų sąrašo nuskaitymas
declare @kodas_rd char(12) -- DVS rūšies kodas

-- Pirkimų operacijų sąrašas
select @kodas_rd='MGAMA_SS_F08'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            'PO' as modul,
            I06_KODAS_PO as kodas_op,
            I06_OP_TIP as op_tipas,
            I06_BUSENA as busena,
            rtrim(rtrim(I06_PAV)) as apr1,
            'Pirkimai: '+
            (case   when I06_OP_TIP in (1) then 'Sąskaita '
                    when I06_OP_TIP in (2) then 'Grąžinimas '
                    when I06_OP_TIP in (3) then 'Užsakymas '
                    when I06_OP_TIP in (4) then 'Pasiūlymas '
                    else 'Dokumentas ' end) as apr2,
            rtrim(I06_DOK_NR)+'  '+left(convert(varchar(23),I06_OP_DATA,102),10)+'  '+rtrim(I06_PASTABOS) as apr3,
            I06_DOK_DATA as op_data,
            I06_R_DATE as r_date,
            '' as search_expr
    from dbo.I06_PARH
    where I06_OP_TIP in (1,2) -- Tik važtaraštis ir grąžinimas
        and I06_DOK_DATA>=convert(datetime,left(convert(varchar(23),dateadd(year,-2,getdate()),102),4)+'.01.01',102) -- Paskutiniai 2 metai

-- Pardavimų operacijų sąrašas
select @kodas_rd='MGAMA_SS_F09'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            'RO' as modul,
            I06_KODAS_PO as kodas_op,
            I06_OP_TIP as op_tipas,
            I06_BUSENA as busena,
            rtrim(rtrim(I06_PAV)) as apr1,
            'Pardavimai: '+
            (case   when I06_OP_TIP in (51) then 'Sąskaita '
                    when I06_OP_TIP in (52) then 'Grąžinimas '
                    when I06_OP_TIP in (53) then 'Užsakymas '
                    when I06_OP_TIP in (55) then 'Pasiūlymas '
                    when I06_OP_TIP in (54) then 'Rezervavimas '
                    else 'Dokumentas ' end) as apr2,
            rtrim(I06_DOK_NR)+'  '+left(convert(varchar(23),I06_OP_DATA,102),10)+' '+rtrim(I06_PASTABOS) as apr3,
            I06_DOK_DATA as op_data,
            I06_R_DATE as r_date,
            '' as search_expr
    from dbo.I06_PARH
    where I06_OP_TIP in (51,52) -- Tik važtaraštis ir grąžinimas
        and I06_DOK_DATA>=convert(datetime,left(convert(varchar(23),dateadd(year,-2,getdate()),102),4)+'.01.01',102) -- Paskutiniai 2 metai

-- Pavyzdys: norint turėti kontekstinę paiešką pagal prekę dokumente (naudoti atsakingai - gali veikti lėtai):
-- MS SQL:
-- update #RGI_MGAMA_DVS_OP_LIST set search_expr=(STUFF((select '-' + rtrim(I07_PAV)+'-'+rtrim(I07_KODAS) as [text()] from I07_PARD where I07_KODAS_PO=kodas_op group by I07_PAV, I07_KODAS FOR XML PATH('') ),1,1,'')) where kodas_rd in ('MGAMA_SS_F08','MGAMA_SS_F09')
-- Sybase:
-- update #RGI_MGAMA_DVS_OP_LIST set search_expr=(select LIST(search_line,'-' ORDER BY search_line) as search_str from (select rtrim(I07_PAV)+'-'+rtrim(I07_KODAS) as search_line from I07_PARD where I07_KODAS_PO=I06_KODAS_PO group by I07_PAV, I07_KODAS ) as A) where kodas_rd in ('MGAMA_SS_F08','MGAMA_SS_F09')

-- Atsargų operacijų sąrašas
select @kodas_rd='MGAMA_SS_F10'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            'IN' as modul,
            I11_KODAS_IN as kodas_op,
            I11_TIPAS as op_tipas,
            I11_BUSENA as busena,
            rtrim(rtrim(I11_PAV)) as apr1,
            'Atsargos: '+
            (case I11_TIPAS 
                when 1 then 'Inventorizacija'
                when 2 then 'Nurašymas'
                when 2 then 'Gamyba'
                when 2 then 'Koregavimai'
                else 'Kitos'
            end) as apr2,
            rtrim(I11_DOK_NR)+'  '+left(convert(varchar(23),I11_OP_DATA,102),10)+' '+rtrim(I11_PAV) as apr3,
            I11_OP_DATA as op_data,
            I11_R_DATE as r_date,
            '' as search_expr
    from dbo.I11_INH
    where I11_OP_DATA>=convert(datetime,left(convert(varchar(23),dateadd(year,-2,getdate()),102),4)+'.01.01',102) -- Paskutiniai 2 metai

-- Personalo operacijų sąrašas
select @kodas_rd='MGAMA_SS_F11'
if exists(select * from #RGI_MGAMA_DVS_OP_LIST_leidimai where kodas_rd=@kodas_rd and galioja=1) -- Patikrinamos teisės ir DVS rūšies galiojimas
    insert into #RGI_MGAMA_DVS_OP_LIST (kodas_rd,modul,kodas_op,op_tipas,busena,apr1,apr2,apr3,op_data,r_date,search_expr)
    select @kodas_rd as kodas_rd,
            '6A' as modul,
            K16_KODAS_6A as kodas_op,
            K16_TIPAS as op_tipas,
            K16_BUSENA as busena,
            rtrim(rtrim(K16_PAV)) as apr1,
            (
                case K16_TIPAS
                    when 1 then 'Priėmimas į etatą'
                    when 2 then 'Perkėlimas'
                    when 3 then 'Atleidimas'
                    when 4 then 'Atostogų grafikas'
                    when 5 then 'Atostogos'
                    when 11 then 'Atostogų atšaukimas'
                    when 16 then 'Kita operacija'
                    when 17 then 'Atostogų pratęsimas'
                    when 22 then 'Komandiruotė'
                    else 'Personalo operacija'
                end
            ) as apr2,
            rtrim(K16_DOK_NR)+'  '+left(convert(varchar(23),K16_OP_DATE,102),10)+' '+rtrim(K16_PAV) as apr3,
            K16_OP_DATE as op_data,
            K16_R_DATE as r_date,
            '' as search_expr
    from dbo.K16_OPH
        inner join dbo.K14_ASM on K16_KODAS_4A = K14_KODAS_4A
    where K16_TIPAS in (1,2,3,4,5,11,16,17,22)  and K14_KODAS_RS = @user -- rodome tik paties vartotojo operacijas
  1. Aprašomas parametras "Dokumentų sąrašo nuskaitymo formulė" MGAMA_DV_FS.