Skolų rodymas MGAMA dokumentų sąraše

Veikia nuo 2026.01.14.

MGAMA dokumentų sąraše galima parodyti skolingus klientus ir detalią informaciją apie jų skolą:

skol_06

skol_07

  1. Sukuriama DVS rūšis. Pvz., MGAMA_PP_K13 - " (K13) Skolingi klientai "

Servisas -> DVS -> DVS rūšys

skol_01

Paspaudus mygtuką "Vartotojų leidimai" suadministruojama kas galės matyti skolų informaciją (pažymimi vartotojai arba vartotojų grupės):

skol_02

  1. Sukuriama arba papildoma esama dokumentų sąrašo nuskaitymo formulė MG_DV_NUSK.

Servisas -> Kortelės -> Formulės

skol_03

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

-- Skolingi klientai
declare @pav_rd varchar(120)

select @kodas_rd='MGAMA_PP_K13'
select @pav_rd=rtrim(K41_PAV) from dbo.K41_RD where k41_kodas_rd=@kodas_rd
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,statusasPavadinimas,statusasSpalva)
    select  @kodas_rd as kodas_rd,
            'XX' as modul,
            N08_KODAS_KS as kodas_op,
            0 as op_tipas,
            0 as busena,
            rtrim(rtrim(N08_PAV)) as apr1,
            @pav_rd as apr2,
            cast(skola as varchar(20))+' €' as apr3,
            getdate() as op_data,
            getdate() as r_date,
            '' as search_expr,
            'Skola' as statusasPavadinimas,
            'RGB(255,128,128)' as statusasSpalva
    from dbo.N08_KLIJ 
        inner join
        (
            select T03_KODAS_KS, SUM(T03_SUMA_DB-T03_SUMA_CR) as skola
            from dbo.T03_SDOK
            where T03_SUMA_DB-T03_SUMA_CR>0
            group by T03_KODAS_KS
            having SUM(T03_SUMA_DB-T03_SUMA_CR)>=100
        ) as SKOL on T03_KODAS_KS=N08_KODAS_KS
  1. Aprašomas parametras "Dokumentų sąrašo nuskaitymo formulė" MGAMA_DV_FS.

  2. Sukuriama formulė skolų informacijos detalizavimui: MG_SKOL_KS.

Servisas -> Kortelės -> Formulės

skol_04

Jei dirbama su MSSQL duomenų baze:

select @statusasPavadinimas='Skola'
select @statusasSpalva='RGB(255,128,128)'
select @add_data=left(convert(char(19),getdate(),120),16)

select @result=''

-- Formuojamas turinys
select @result='
        <schema><type>inline</type> <key>Klientas</key>     <value>'+dbo.RGI_F_XML_ENCODE(rtrim(N08_PAV))+'</value></schema>
        <schema><type>inline</type> <key>Įmonės kodas</key> <value>'+dbo.RGI_F_XML_ENCODE(rtrim(N08_IM_KODAS))+'</value></schema>
        <schema><type>inline</type> <key>Skola</key>        <value>'+cast(skola as varchar(20))+' €'+'</value><color>red</color></schema>
    '
from dbo.N08_KLIJ
    inner join
    (
        select T03_KODAS_KS, SUM(T03_SUMA_DB-T03_SUMA_CR) as skola
        from T03_SDOK
        where T03_SUMA_DB-T03_SUMA_CR>0
        group by T03_KODAS_KS
    ) as SKOL on T03_KODAS_KS=N08_KODAS_KS
where N08_KODAS_KS=@kodas_op

-- Detalios skolos
declare @det_sar XML

select cast(row_number() over(order by T03_DATA_DOK desc, T03_DOK_NR asc) as numeric(12,1)) as eil_nr, T03_DATA_DOK, T03_DOK_NR, T03_DATA_MOK, T03_SUMA_DB-T03_SUMA_CR as skola, DATEDIFF(day, T03_DATA_MOK, getdate()) as veluoja
into #tmp_skol
from T03_SDOK where T03_SUMA_DB-T03_SUMA_CR>0 and T03_KODAS_KS=@kodas_op

select @det_sar=cast((
        select * from (
            select eil_nr, rtrim(T03_DOK_NR) as [key], cast(skola as varchar(20))+' €' as [value], 'inline' AS [type], null as  from #tmp_skol
            union all
            select eil_nr+0.1, convert(varchar,T03_DATA_DOK,102) as [key], 'Mokėjimo data: '+convert(varchar,T03_DATA_MOK,102) as [value], 'inline' AS [type], 'grey' as  from #tmp_skol
            union all
            select eil_nr+0.2, '' as [key], 'Vėluoja apmokėti '+cast(veluoja as varchar)+' d.' as [value], 'inline' AS [type], 'red' as  from #tmp_skol
            union all
            select eil_nr+0.3, '' as [key], '' as [value], 'space' AS [type], null as  from #tmp_skol
        ) as [schema]
        order by eil_nr asc
for xml auto, elements) as XML)

select @result=@result+'<schema><type>list</type><key>Dokumentai</key><data>'+cast(@det_sar as varchar(max))+'</data></schema>'

-- Failų rodymo nustatymas
select @result =
            +'<config><key>SHOW_DOKUMENTAS</key><value>false</value></config>'
            +'<config><key>SHOW_DOKUMENTAI</key><value>false</value></config>'
            +'<config><key>SHOW_HISTORY</key><value>false</value></config>'
            + @result

Jei dirbama su Sybase duomenų baze:

select @statusasPavadinimas='Skola'
select @statusasSpalva='RGB(255,128,128)'
select @add_data=left(convert(char(19),getdate(),120),16)

select @result=''

-- Formuojamas turinys
select @result='
        <schema><type>inline</type> <key>Klientas</key>     <value>'+dbo.RGI_F_XML_ENCODE(rtrim(N08_PAV))+'</value></schema>
        <schema><type>inline</type> <key>Įmonės kodas</key> <value>'+dbo.RGI_F_XML_ENCODE(rtrim(N08_IM_KODAS))+'</value></schema>
        <schema><type>inline</type> <key>Skola</key>        <value>'+cast(skola as varchar(20))+' €'+'</value><color>red</color></schema>
    '
from dbo.N08_KLIJ
    inner join
    (
        select T03_KODAS_KS, SUM(T03_SUMA_DB-T03_SUMA_CR) as skola
        from T03_SDOK
        where T03_SUMA_DB-T03_SUMA_CR>0
        group by T03_KODAS_KS
    ) as SKOL on T03_KODAS_KS=N08_KODAS_KS
where N08_KODAS_KS=@kodas_op

-- Detalios skolos
declare @det_sar XML

select cast(row_number() over(order by T03_DATA_DOK desc, T03_DOK_NR asc) as numeric(12,1)) as eil_nr, T03_DATA_DOK, T03_DOK_NR, T03_DATA_MOK, T03_SUMA_DB-T03_SUMA_CR as skola, DATEDIFF(day, T03_DATA_MOK, getdate()) as veluoja
into #tmp_skol
from T03_SDOK where T03_SUMA_DB-T03_SUMA_CR>0 and T03_KODAS_KS=@kodas_op

select @det_sar=cast((
        select * from (
            select eil_nr, rtrim(T03_DOK_NR) as [key], cast(skola as varchar(20))+' €' as [value], 'inline' AS [type], null as  from #tmp_skol
            union all
            select eil_nr+0.1, convert(varchar,T03_DATA_DOK,102) as [key], 'Mokėjimo data: '+convert(varchar,T03_DATA_MOK,102) as [value], 'inline' AS [type], 'grey' as  from #tmp_skol
            union all
            select eil_nr+0.2, '' as [key], 'Vėluoja apmokėti '+cast(veluoja as varchar)+' d.' as [value], 'inline' AS [type], 'red' as  from #tmp_skol
            union all
            select eil_nr+0.3, '' as [key], '' as [value], 'space' AS [type], null as  from #tmp_skol
        ) as [schema]
        order by eil_nr asc
for xml auto, elements) as XML)

select @result=@result+'<schema><type>list</type><key>Dokumentai</key><data>'+cast(@det_sar as long varchar)+'</data></schema>'

-- Failų rodymo nustatymas
select @result =
            +'<config><key>SHOW_DOKUMENTAS</key><value>false</value></config>'
            +'<config><key>SHOW_DOKUMENTAI</key><value>false</value></config>'
            +'<config><key>SHOW_HISTORY</key><value>false</value></config>'
            + @result
  1. Sukuriama nauja MGAMA forma

MGAMA - >Nustatymai -> Dokumentų formos

skol_05

Formos INIT - nurodoma skolų detalizacijos formulė MG_SKOL_KS.

DVS rūšis - nurodomas anksčiau sukurtos DVS rūšies kodas.

Forma skirta tik dokumentų peržiūrai, todėl pažymima kaip "Neaktyvi".