Aprašytas sprendimas, kai neleidžiama pateikti formulėje nurodyto tipo atostogų prašymo likus mažiau nei 5 dienoms iki atostogų pradžios.
Šiam sprendimui realizuoti naudojamos fomulės.
Servisas -> Kortelės -> Formulės
Sukuriama nauja formulė, kurioje aprašoma papildoma tikrinimo logika.

-- Standartinė būsenos procedūra: RGI_MGAMA_PERS_AT @bukle=1, @atsaukti=1
declare @userParamAtostTipas char(12), @userParamLeistinasTerminas int
select
@userParamAtostTipas = '1' --nurodomas atostogų tipas, pagal kurį bus tikrinamas prašymas
,@userParamLeistinasTerminas = 5 --nurodomas mažiausias leistinas dienų skaičius iki prašomų atostogų pradžios
declare
@atostTipas char(12)
,@begDate datetime
if @veiksmas='I'
BEGIN
select
@atostTipas = k16_kodas_1a_19,
@begDate = k16_beg_date
from dbo.K16_OPH where K16_KODAS_6A = @op
if @atostTipas = @userParamAtostTipas and datediff(day,getdate(),@begDate) < @userParamLeistinasTerminas
begin
exec dbo.RGI_KLAIDA 'ATOSTOGOS','Prašymą dėl pasirinkto atostogų tipo galima pateikti tik tuo atveju, jei iki nurodytos atostogų pradžios liko daugiau nei 5 dienos!'
select @return=-1
goto ExitCode
end
END
-- Paleidžiame standartinę procedurą, tvirtinimo turinio užpildymui
exec @return=dbo.RGI_MGAMA_PERS_AT @modul=@modul, @op=@op, @user=@user, @kodas_be=@kodas_be, @veiksmas=@veiksmas, @pastaba=@pastaba, @bukle=1, @atsaukti=1 ,@vad=1
Aprašius formulę, pakoreguojamos atostogų tvirtinimo būsenos:
Servisas -> Personalas -> Personalo operacijos

SQL procedūra:
RGI_MGAMA_BUSENA_TV

SQL procedūra:
RGI_MGAMA_BUSENA_FORMULE @kodas_fr='MG_6A_AT_01'
Sprendimo rezultatas:
