Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Metody - záložka objektu PmObject

Popis:
V této záložce se definují uživatelské metody objektu.
Tlačítka:
NováOtevře se okno Metoda, ve kterém lze přidat novou metodu.
SmazatSmaže označenou metodu
EditaceOtevře se okno Metoda, ve kterém lze editovat označenou metodu.
Poznámka:
V této záložce lze objektu přidávat další metody. Správné užívání těchto metod velmi zjednodušuje a zčitelňuje aplikaci.

Příklad využití: Představme si složku PmFolder představující nějaké zařízení (např. Boiler). Někdy je potřeba z jiné složky tento Boiler odstavit. Lze to dělat tak, že v jiné složce bude podrobný algoritmus jak odstavit Boiler ale daleko lepší je vytvořit metodu přímo ve složce Boiler, ve které bude algoritmus pro odstávku. Z jiné složky se pak zavola pouze tato metoda.

 
V této záložce lze definovat libovolný počet metod. Na každém řádku seznamu (který je vlevo nahoře) je definice právě jedné metody. Tyto metody lze volat pomocí vlastnosti PmObject.Methods nebo Pm.Methods.
Parametry metody:
pMe(Object) Reference na Promotic objekt, ve kterém je metoda definována.
pResult[jen pro zápis] (Variant) Výstupní parametr, který slouží ke vrácení výsledné hodnoty metody.

Je dostupný pouze v metodách, které jsou psány v jazyce VBScript. Pro jazyk JavaScript se vrácená hodnota zadá v příkaze return.

pContext(Object) (pro objekty PmRoot a PmPanel) obsahuje referenci na objekt s dodatečnými informacemi o způsobu, kterým byla metoda vyvolána.
pContext.User - (Object) vlastnost s referencí na objekt User, ve kterém jsou podrobnější informace o uživateli (lokálním nebo síťovém), který metodu zavolal. Lze využít například:
- ke chránění metody na konkrétního přihlášeného uživatele nebo skupinu uživatelů.
- k uchování a čtení stavových privátních dat uživatele pomocí metod SetPrivateData a GetPrivateData.

Upozornění! Aby v podobjektu User byla věrohodná hodnota je nutno, aby v příslušném oprávnění WebRead nebyly pseudo skupiny $ANY a $ANY_NET (tzn. aby při otevření WEB stránky musel být přihlášen uživatel).

pContext.Language - (String) vrací informaci o požadovaném národním jazyce, ve kterém jsou požadovány případné textové výstupy metody (vhodné zejména při vyvolávání metody z Web obrazů). Jazyk je určen textovým identifikátorem, např. "cs", "sk", "en" atd. - viz Jazyky s plnou podporou v systému PROMOTIC. Viz konfigurátor "Hlavní jazyk runtime".
pContext.TypeEnable - (Long) Typ povolení vyvolání metody klientem. Projektant může (dle nastaveného uživatele, hesla či adresy počítače) operaci zakázat. Nastavení tohoto parametru je doporučeno jen pro speciální případy. Běžné zabezpečení je lepší provádět standardně pomocí oprávnění: WebMethods.

Upozornění! Vlastnost je funkční jen pro Web obrazy.

1 (přednastaveno) - povolení operace.
-1 - vyžádání přihlášení uživatele (pokud uživatel nebyl zadán) nebo zakázání uživatele (pokud uživatel byl zadán ale je špatný název a heslo).
-2 - zakázání operace pro daného klienta bezpodmínečně.
Parametry definované projektantem(Variant) Slouží jako předávané parametry při volání dané metody. Tyto parametry se definují v konfigurátoru Parametry.
Metody definované v této záložce pro objekt PmPanel (metody obrazu) a PmRoot (globální metody aplikace) lze volat i ve skriptech obrazů, které jsou určené pro WEB sdílení.
 
Seznam používaných metod a počet jejich spuštění lze vidět v INFO systému v záložce při prohlížení daného objektu. V této záložce lze i spustit vybranou metodu (jen pokud nemá metoda uživatelské parametry) po vybrání z lokálního menu (pravým tlačítkem myši). Viz oprávnění PmRoot > Oprávnění > InfoEdit.
Příklad1:
V objektu PmFolder je objekt PmData (má název "DAT"), který obsahuje několik proměnných (se jmény například "data1", "data2", atd.) Vytvoříme jednoduchou metodu v objektu PmFolder s názvem "dataadd" s jedním parametrem (má název par1), který bude představovat název proměnné. Metoda vrátí hodnotu požadované proměnné zvětšené o 10.
Dim val
val = pMe.Pm("DAT").Item(par1).Value
pResult = val + 10
Tuto metodu pak můžeme kdekoli volat:
n = oFolder.Methods.dataadd("data1")
Příklad2:
Test, zda uživatel volající danou metodu je členem skupiny $ADMIN:
If Pm.TestUserInGroup(1, "$ADMIN", pContext.User.Id) Then
  ...
End If
Příklad3:
Vyvolání globální metody GetStartTime s parametrem par1 (tímto způsobem lze vyvolat globální metodu na serveru i z webového obrazu):
Dim val
val = Pm.Methods.GetStartTime(par1)
Další příklady:
Viz příklady v popisu vlastnosti PmObject.Methods.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice