Skript hromadného nastavení hodnoty
Hromadné nastavení hodnoty na základě příkazu OnCommand
Ve stromové struktuře projektu v dynamizacích některého modulu, nejlépe do modulu příslušné paměťové databáze, vložíme dynamizaci
.

Dynamizace u modulu paměťové databáze
Ve vlastnostech a dynamizacích nastavíme:
Typ podmínky: On Command
Command: CMD_COPY
Typ akce: Bara Script
Poznámka:
Dynamizace se nespustí za žádných jiných okolností, než bezprostředně po odeslání stejného příkazu dynamizací .Nemůže tak dojít k náhodnému, či nechtěnému, provedení dynamizace, například po restartu systému.
Upravíme cílový skript tlačítkem Editovat. Následuje příklad skriptu pro bezpečné hromadné nastavení, z kontrolou zdrojové hodnoty pro nastavení a jejím resetováním po provedení.
program HromadneNastaveni;
procedure SetDifValue( ref dest : TIOChannelBinary; src : binary );
begin
//
// nenastavujeme do nevalidni promenne
if dest.Valid = 0 then
return;
//
// nenastavujeme shodnou hodnotu znovu
if dest = src then
return;
//
// samotne nastaveni cilove hodnoty
dest := src;
end;
global
value : binary;
begin
//
// zdrojova hodnota ma hodnotu <Nezadano>, niz nenastavujeme, konec
if ( MD.SourceValue = 0 ) then
return;
//
// cilovou hodnotu budeme nastavovat na hodnotu FALSE (VYPNUTO)
if MD.SourceValue = 1 then
value := false;
//
// cilovou hodnotu budeme nastavovat na hodnotu TRUE (ZAPNUTO)
if MD.SourceValue = 2 then
value := true;
SetDifValue( MD.TargetValue1, value );
SetDifValue( MD.TargetValue2, value );
SetDifValue( MD.TargetValue3, value );
//
// nastaveni zdrojove hodnoty do bezpecneho stavu <Nezadano>
MD.SourceValue := 0;
end.
Ukázkový skript je přímo ve zdrojovém textu komentován. Principem je, že je ošetřeno, aby se cílové technologické hodnoty zadávaly jen jednou. Jsou uvedeny jako první parametr procedury SetDifValue, která kontroluje validitu cílové proměnné a různost její hodnoty od zadávané - druhého parametru. Před samotným spuštěním jednotlivých nastavení se kontroluje, zda zdrojová hodnota byla zadána uživatelem a připravuje s proměnná s požadovaným stavem pro nastavení do všech cílových technologických proměnných. Po provedení všech nastavení proměnných se okamžitě resetuje zdrojová proměnná do nezadaného stavu, aby nemohlo dojít k vícenásobnému náhodnému provedení tohoto přiřazovacího skriptu.
Tip!
Pomocí příkazu #include "soubor.bal" můžeme na místo jednotlivých řádků vložit textově volání funkcí pro nastavení hodnot. Externí soubor připravíme v podadresáři Scripts projektu a bude obsahovat pouze právě tato volání SetDifValue(...) pro jednotlivé proměnné. Systém pak při provádění skriptu na místo #include obsah dočasně textově vloží.