Skip Navigation LinksALVAO 7.1ALVAO Asset ManagementImplementace systému v organizaciNastaveníUživatelský skript
Skip Navigation Links.
Skip Navigation Links
Skip Navigation Links.
%USERPROFILE%\Documents\ALVAO\Doc\Documentation\doc\cs\ALVAO_7_1\ALVAO_Asset_Management\implementation\configuration\scripting.aspx
|
Ve složce Config může být uložen soubor
EpCustomScript.js s uživatelským skriptem v jazyce
JavaScript. Složku Config naleznete ve složce, kde
je nainstalována ALVAO Asset Management Console (standardně
C:\Program Files\ALVAO\Asset Management
Console\Config), pokud tam není, vytvořte ji a vložte do ní
skript. Po restartu AM konzole se skript sám aktivuje.
Ve skriptu mohou být definovány obslužné funkce, které se
automaticky volají z Konzoly při provádění různých operací.
Příklad 1. Příklad souboru EpCustomScript.js
function OnNodeMoving(nNodeId,nDestNodeId,nUserId)
{
return true;
}
function OnNodeRemoving(nNodeId,nUserId)
{
MessageBox("Objekt nelze odstranit",0x30);
return false;
}
Skript v příkladu obsahuje funkce
OnNodeMoving a
OnNodeRemoving. Funkce
OnNodeMoving slouží k povolení přesunu objektu ve
stromu. Funkce se volá před provedením přesunu a návratová hodnota
true znamená, že je přesun povolen. Funkce
OnNodeRemoving se volá před odstraněním objektu
ze stromu a její návratová hodnota povoluje odstranění. V uvedeném
příkladu je tedy přesun objektu vždy povolen a odstranění je vždy
zakázáno. Při pokusu o odstranění objektu se navíc zobrazí okno s
hlášením "Objekt nelze odstranit".
Tato funkce se volá před zkopírováním objektu ve stromu, tj.
také v případě vytvoření nového objektu podle šablony.
- Syntaxe
bool OnNodeCopying(nNodeId, nDestNodeId, nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který je kopírován, tj. vzorový objekt.
- nDestNodeId
Hodnota atributu tblNode.intNodeId objektu, do
kterého bude jako podobjekt vložena kopie. Hodnota 0
znamená , že kopie bude vytvořena v kořeni stromu.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
Pokud funkce vrátí hodnotu true, objekt
bude zkopírován. Pokud funkce vrátí false,
kopírování se neprovede. V tom případě je vhodné zobrazit
chybové hlášení metodou MessageBox.
- Příklady
-
Příklad 2. Příklad - zákaz kopírovat objekty pro vybraného
uživatele
Následující příklad funkce OnNodeCopying zakazuje
uživateli s identifikačním číslem 15 kopírování objektů.
Identifikační číslo uživatele záleží na konkrétní databázi a
je třeba jej nejprve najít v tabulce tblUser - atribut
intUserId.
function OnNodeCopying(nNodeId,nDestNodeId,nUserId)
{
if ( nUserId == 15 )
{
MessageBox("Objekt je zakázáno kopírovat.",0x30);
return false;
}
return true;
}
Příklad 3. Příklad - volání uložené procedury na SQL
serveru
V následujícím příkladu je pro vyhodnocení události
použita uložená procedura (stored procedure)
spOnNodeCopying na SQL serveru.
Kopírování objektu je povoleno, pokud uložená procedura
vrací nenulovou hodnotu.
function OnNodeCopying(nNodeId,nDestNodeId,nUserId)
{
var Con=new ActiveXObject("ADODB.Connection");
Con.Open(ConnectionString);
var Cmd=new ActiveXObject("ADODB.Command");
Cmd.ActiveConnection=Con;
Cmd.CommandText="spOnNodeCopying";
Cmd.CommandType=4;
Cmd.Parameters.Refresh();
Cmd.Parameters.Item("@nNodeId").Value=nNodeId;
Cmd.Parameters.Item("@nDestNodeId").Value=nDestNodeId;
Cmd.Parameters.Item("@nUserId").Value=nUserId;
var Rs=Cmd.Execute();
if ( Rs.Fields.Item(0)==1 )
return true;
MessageBox("Objekt nelze zkopírovat.",0x30);
return false;
}
Uložená procedura je definována takto:
CREATE PROCEDURE [dbo].[OnNodeCopying]
@nNodeId int, @nDestNodeId int, @nUserId int
AS
BEGIN
SET NOCOUNT ON;
SELECT 1
END
Tato funkce se volá po zkopírování objektu resp. po vytvoření
nového objektu podle šablony.
- Syntaxe
void OnNodeCopied(nNodeId, nNewNodeId, nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který byl kopírován, tj. vzorový objekt.
- nNewNodeId
Hodnota atributu tblNode.intNodeId nového objektu,
který vznikl zkopírováním.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
žádná
- Příklady
viz OnNodeCopying
Tato funkce se volá před přesunutím objektu ve stromu na jiné
místo.
- Syntaxe
bool OnNodeMoving(nNodeId, nDestNodeId, nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který má být přesunut.
- nDestNodeId
Hodnota atributu tblNode.intNodeId objektu, do
kterého bude objekt přesunut. Hodnota 0 znamená , že
objekt bude přesunut do kořene stromu.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
Pokud funkce vrátí hodnotu true,
objekt bude přesunut. Pokud funkce vrátí
false, přesun se neprovede. V tom případě
je vhodné zobrazit chybové hlášení metodou MessageBox.
- Příklady
viz OnNodeCopying
Tato funkce se volá po přesunutí objektu ve stromu.
- Syntaxe
void OnNodeMoved(nNodeId, nSrcParentNodeId,
nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který byl přesunut.
- nSrcParentNodeId
Hodnota atributu tblNode.intNodeId objektu, který
byl otcem (nadobjektem) objektu nNodeId před jeho
přesunutím.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
žádná
- Příklady
viz OnNodeCopying
Tato funkce se volá před odstraněním objektu tj. přesunutím
objektu do Koše a také před nevratným odstraněním objektu z
Koše.
- Syntaxe
bool OnNodeRemoving(nNodeId, bMoveToBin, nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který má být odstraněn resp. přesunut do
Koše.
- bMoveToBin
Jedná-li se o přesun objektu do Koše, tento parametr
má hodnotu true. V případě
definitivního odstranění objektu má hodnotu
false.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
Pokud funkce vrátí hodnotu true, objekt
bude odstraněn resp. přesunut do Koše. Pokud funkce vrátí
false, operace se neprovede. V tom případě je
vhodné zobrazit chybové hlášení metodou MessageBox.
- Příklady
viz OnNodeCopying
Tato funkce se volá po odstranění objektu tj. po jeho přesunutí
do Koše a také po definitivním odstranění objektu z Koše.
- Syntaxe
void OnNodeRemoved(nNodeId, bMoveToBin, nUserId)
- Parametry
- nNodeId
Hodnota atributu (v databázi) tblNode.intNodeId
objektu, který byl odstraněn resp. přesunut do
Koše.
- bMoveToBin
Jedná-li se o přesun objektu do Koše, tento parametr
má hodnotu true. V případě
definitivního odstranění objektu má hodnotu
false.
- nUserId
Hodnota atributu tblUser.intUserId určující právě
přihlášeného uživatele.
- Návratová hodnota
žádná
- Příklady
viz OnNodeCopying
OnPropertyModificationEnabled
Zapíná resp. vypíná příkaz
- Upravit
pro úpravu vlastnosti.
- Syntaxe
bool OnNodeModificationEnabled(nPropertyId)
- Parametry
- nPropertyId
Hodnota atributu (v databázi)
tblProperty.intPropertyId vlastnosti, která má být
upravena.
- Návratová hodnota
Pokud funkce vrátí hodnotu true, příkaz
- Upravit v menu bude aktivní. Jinak
bude neaktivní (šedý).
- Příklady
viz OnNodeCopying
Tato funkce se volá v rámci příkazu
- Upravit před uložením upravené vlastnosti
do databáze.
- Syntaxe
bool OnPropertyModifying(nPropertyId, strNewValue)
- Parametry
- nPropertyId
Hodnota atributu (v databázi)
tblProperty.intPropertyId vlastnosti, která je
měněna.
- strNewValue
Nová hodnota vlastnosti.
- Návratová hodnota
Pokud funkce vrátí hodnotu true, nová
hodnota se zapíše do databáze. Pokud funkce vrátí
false, operace se neprovede. V tom případě je
vhodné zobrazit chybové hlášení metodou MessageBox.
- Příklady
viz OnNodeCopying
Tato funkce se volá po zápisu nové hodnoty vlastnosti do
databáze v rámci příkazu
- Upravit.
- Syntaxe
void OnPropertyModified(nPropertyId)
- Parametry
- nPropertyId
Hodnota atributu (v databázi)
tblProperty.intPropertyId vlastnosti, která byla
změněna.
- Návratová hodnota
žádná
- Příklady
viz OnNodeCopying
Funkce zobrazí okno s textovou zprávou.
- Syntaxe
int MessageBox(Text,Type)
- Parametry
- Text
Text zprávy.
- Type
-
Parametr může obsahovat kombinaci následujících
bitových hodnot.
- Tlačítka
- Ikony
- Výchozí tlačítko
-
Hodnota z následující tabulky určuje, které
tlačítko v pořadí zleva bude nastaveno jako
výchozí.
- Návratová hodnota
- Příklady
Příklad 4. Použití funkce MessageBox
Následující příklad zobrazí okno s dotazem "Chcete
pokračovat?" a tlačítky Ano a Ne, přičemž tlačítko Ne bude
aktivní.
if ( MessageBox("Chcete pokračovat?",4+0x20+0x100) == 6 )
// pokračovat ...
Proměnná ConnectionString obsahuje připojovací řetězec pro právě
otevřenou databázi. Proměnná je určena pouze ke čtení.
Poznámka:
Připojovací řetězec odpovídá pravidlům technologie ADO.
Příklad 5. Použití proměnné ConnectionString
V následující ukázce je do proměnné Con vytvořeno připojení na
databázi, která je právě otevřena v Konzole.
var Con=new ActiveXObject("ADODB.Connection");
Con.Open(ConnectionString);
Proměnná UserId obsahuje identifikátor uživatele, který je právě
přihlášen do Konzoly. Proměnná je určena pouze ke čtení.
Identifikátor odpovídá hodnotě atributu intUserId v tabulce
tblUser v databázi.
Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.
|