Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Metody - zakładka obiektu PmaObject

Opis:
W tej zakładce można zdefiniować metody projektanta tego obiektu.
Przyciski:
NowaOtworzy okno Metoda, w którym można wprowadzić nową metodę.
UsuńUsunie zaznaczoną metodę
EdytujOtworzy okno Metoda, w którym można edytować zaznaczpną metodę.
Notatka:
W tej zakładce można do obiektu dodawać następne metody. Poprawne stosowanie takich metod bardzo upraszcza aplikację i czyni ją bardziej czytelną.

Przykład zastosowanie: Założmy, że istnieje folder PmaFolder, który przedstawia jakieś urządzenie(np. Kociol). W niektórych przypadkach jest konieczne wyłączenie Kotła z innego foldera aplikacji. Można to wykonać w ten sposób, że w innym folderze będzie się znajdować szczegółowy algorytm do wyłączenia Kotła, lecz lepszym rozwiązaniem jest wytworzenie metody bezpośrednio w folderze "Kociol", w której będzie się znajdować algorytm wyłączenia. Z innego foldera następnie wystarcze tylko wywołać taką metodę.

 
W tej zakładce można określić dowolną ilość metod. Na każdym wierszu listy (która znajduje się w lewo u góry) znajduje się definicja właśnie jednej metody. Takie metody można z kolei wywoływać przy pomocy właściwości PmaObject.Methods lub Pm.Methods.
Parametry metody:
pMe(Object) Odniesienie do Pma obiektu, w którym metoda jest zdefiniowana.
pResult[tylko do zapisu] (Variant) Wyjściowy parametr, który jest przeznaczony do zwrócenia końcowej wartości metody.

Jest dostępny tylko dla metod, które są pisane w języku VBScript. Dla języka JavaScript zwrócona wartość zostanie określona w poleceniu return.

pContext(Object) (dla obiektów PmaRoot oraz PmaPanel) zawiera odniesienie do obiektu z dodatkowymi informacjami o sposobie, jakim metoda została wywołana.
pContext.User - (Object) właściwość z odniesieniem do obiektu PmUser, w którym znajdują się szczegółowe informacje o użytkownikowi (lokalnym lub sieciowym), który wywołał metodę. Można zastosować na przykład:
- do zabezpieczenia metody dla konkretnego zalogowanego użytkownika lub dla grupy użytkowników.
- do przechowania i odczytu prywatnych danych użytkownika przy pomocy metod SetPrivateData oraz GetPrivateData.

Uwaga! Żeby w podobiekcie User znalazła się wiarygodna wartość jest konieczne, żeby w odpowiednim uprawnieniu WebRead nie bzůo pseudo grup $ANY oraz $ANY_NET (tzn. żeby przy otworzeniu strony webowej użytkownik musiał być zalogowany).

pContext.Language - (String) zwraca informację owymaganym języku narodowym, w którym są wymagane ewentualne wyjścia tekstowe metody (odpowiednie zwłaszcza przy wywoływaniu metody z Web paneli). Język jest określony przez identyfikator tekstowy, np. "pl", "en", "cs" itd. - patrz Języki z pełnym wsparciem w systemie PROMOTIC. Patrz konfigurator "Główny język runtime".
pContext.TypeEnable - (Long) Typ zezwolenia wołania metody poprzez klienta. Projektant może (według ustawionego uytkownika, hasła lub adresu komputera) wyłączyć działanie. Ustawienie tego parametru jest zalecane tylko dla specjalnych przypadkach. Jest dogodniejszym wykonywać powszechne zabezpieczenie w standardowy sposób za pomocą uprawnienia: WebMethods.

Uwaga! Właściwość działa tylko dla Web panele.

1 (domyślnie) - zezwolenie na operację.
-1 - żądanie zalogowania użytkownika (jeżeli użytkownik nie został określony) lub wprowadzenie użytkownika (jeżeli użytkownik został określony ale jego nazwa oraz hasło są nipoprawne).
-2 - zakazanie operacji dla danego klienta bezwarunkowo.
Parametry zdefiniowane przez projektanta(Variant) Służy jako przekazywane parametry przy wywołaniu danej metody. Parametry te można zdefiniować w konfiguratorze "Parametry".
Metody zdefiniowane w tej zakładce dla obiektu PmaPanel (metody panelu) oraz dla obiektu PmaRoot (globalne metody aplikacji) można wywoływać także w skryptach paneli graficznych, które są przeznaczone do współdzielenia na Web-ie.
 
Listę zastosowanych metod oraz ilość ich wykonania można zobaczyć w INFO systemie w zakładce podczas przeglądania danego obiektu. W tej zakładce można także uruchomić wybraną metodę (tylko jeżeli nie poisada żadnych parametrów) po wyborze z menu lokalnego (prawym przyciskiem myszy). Patrz uprawnienie "PmaRoot > Uprawnienia > InfoEdit".
Przykład1:
W obiekcie PmaFolder znajduje się obiekt PmaData (o nazwie "DAT"), który zawiera kilka zmiennych (o nazwach na przykład "data1", "data2", itd.) Wytworzymy prostą metodę w obiekcie PmaFolder o nazwie "dataadd" o jednym parametrze (o nazwie par1), który przedstawia nazwę zmiennej. Metoda zwraca wartość wymaganej zmiennej zwiększoną o 10.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var val = pMe.Pm("DAT").Item(par1).Value;
return val + 10;
Metodę tą można następnie wywoływać z dowolnego miejsca w aplikacji:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var n = oFolder.Methods.dataadd("data1");
Przykład2:
Test, czy użytkownik, który wywołał daną metodę jest członkiem grupy $ADMIN:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

if (pContext.User.Type == 2 && Pm.TestUserInGroup(1, "$ADMIN", pContext.User.Id))
//...
Przykład3:
Wywołanie globalnej metody GetStartTime (tzn. określonej w obiekcie PmaRoot) o parametrze par1 (w ten sposób można wywołać globalną metodę zarówno na serwerze jak również w Web panelu):
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var val = Pm.Methods.GetStartTime(par1);
Następne przykłady:
Patrz przykłady w opisie właściwości PmaObject.Methods.

Historia:
Pm8.03.00: Taką zakładkę posiada każdy Pma obiekt oraz Pmg obiekt (wcześniej ją posiadało tylko kilka typów Pma obiektów).
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice