Šiam sprendimui realizuoti naudojamos fomulės
Servisas -> Kortelės -> Formulės
Sukuriama nauja formulė, kurioje aprašoma papildoma tikrinimo logika.

Formulės pavyzdys - atostogų prašymo dienos kontrolė, kuri neleidžia prašyti atostogų, likus mažiau nei 5 dienoms iki nurodytų atostogų pradžios:
-- Standartinė būsenos procedūra: RGI_MGAMA_PERS_AT @bukle=1, @atsaukti=1
declare @userParamAtostTipas char(12), @userParamLeistinasTerminas int
select
@userParamAtostTipas = '555' --nurodomas atostogų klasifikatorius, 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!'
return
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
Aprašius formulę, reikia atitinkamai pakoreguoti atostogų tvirtinimo būseną:
Servisas -> Personalas -> Personalo operacijos:


Norint įtraukti aprašytą formulę papildomiems tikrinimams, reikia naudoti tvirtinimo operacijų perėmimo procedūrą, nurodant formulės kodą kaip parametrą. Pvz.:
RGI_MGAMA_BUSENA_FORMULE @kodas_fr='MG_6A_AT_01'
Rezultatas:
