

































U ovoj sekciji ćemo objasniti koncepte i osnovne procedure koje se mogu koristiti za pisanje custom pravila koja će se izvršavati prilikom promene statusa predmeta.
Sva definisana pravila prilikom "build" - a pravila kreiraju proceduru
[dbo].[_el_customrules] @acckey nvarchar(20)
Pokretanjem ove procedure izvr[avaju se prvo pravila koja su definisana za sve statuse , pa onda za konkretan status , po redosledu definisanom u pravilima. Pokretanje ove procedure je najbolji način za debuging napravljenih custom pravila. U okviru pravila se može pisati željeni SQL , pozivati dodatne procedure ...
U koliko pravilo nije uspešno izvršeno , predmet u aplikaciji neće biti dobro prikazan , nedostajaće mu osnovni podaci.
Sav dodatni SQL i procedure koje se u njemu pozivaju ne smeju sadžavati nikakve print funkcije, a procedure moraju sadržavati deklaraciju set nocount on u sebi. Sve to iz razloga jer procedure ne smeju da daju nikakve output-e kada se izvršavaju kroz vew pozive , jer prekidaju njihovu egzekuciju što će rezultovati greškom.
U okviru SQL-a pravila varijable koje su predefinisane i možete ih koristiti u Vašem kodu su
@oddelek - tip predmeta,
@client - subjekt na predmetu,
@projekatfaza - faza
@projekat - projekat,
@datum datum,
@contact - id kontakta klijenta,
@status - status,
@radnik - radnik,
@rokisporuke - rokisporuke,
@userzap - userzap,
@userspre - userspre
@ident - ident
Po definiciji predmeta novo pravilo takodje sadrži i već definisane varijable koje imaju vrednosti tih polja. Ove varijable su definisane po id-u polja u definiciji predmeta samo što sadrže prefix za sql varijablu "@"
Kako sva pravila sadrže svoje varijable , a kako se izvršavaju kroz jednu generičku stored procedure sa svim definisanim pravilima, a ne smeju biti deklarisana dva puta , potrebno je obratiti pažnju na definisanje novih varijabli u pravilima koja se dodaju. Najbolja praksa je da se varijable definišu kao:
@@ruleid{varijabla}
Prvi deo varijable (@@ruleid) će biti generički definisan u okviru pravila na osnovu njegovog id-a tako da se sigurno neće preklopiti sa drugim pravilima
enter text
select * from _service where oddelek=N"?????????" and field3 in ("1124")
exec _el_updatecustomfield "23S01023121",N"?????????","field60","T"
declare @acckey varchar(20)
declare bb cursor local fast_forward for
select acckey from _service where oddelek=N"?????????" and field3 in ("1124")
open bb
fetch next from bb into @acckey
while @@FETCH_STATUS=0
begin
print @acckey
exec _el_updatecustomfield @acckey,N"?????????","field60","T"
fetch next from bb into @acckey
end
close bb
deallocate bb
enter text
enter text
enter text
enter text