Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Metody - zakładka obiektu PmObject

Opis:
W tej zakładce można zdefiniować metody projektanta obiektu.
Przyciski:
NowaZostanie otwarte okno Metoda, w którym można wprowadzić nową metodę.
UsuńUsunie zaznaczoną metodę
EdytujZostanie otwarte 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 zastosowania: Założmy, że istnieje folder PmFolder, który przedstawia jakieś urządzenie(np. Kociol). W niektórych przypadkach jest potrzebne 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 niniejszej zakładce można zdefiniować 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 PmObject.Methods lub Pm.Methods.
Parametry metody:
pMe(Object) Odniesienie do PROMOTIC 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 w metodach, 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 PmRoot i PmPanel) 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 User, 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 i GetPrivateData.

Uwaga! Żeby w obiekcie User znalazła się wiarygodna wartość jest konieczne, żeby w odpowiednim uprawnieniu WebRead nie bzůo pseudo grup $ANY i $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 w specjalnych przypadkach. Jest dogodniejszym wykonywać powszechne zabezpieczenie w standardowy sposób za pomocą uprawnienia: WebMethods.

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

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 i 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 PmPanel (metody panelu) i PmRoot (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że 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 PmRoot > Uprawnienia > InfoEdit.
Przykład1:
W obiekcie PmFolder znajduje się obiekt PmData (o nazwie "DAT"), który zawiera kilka zmiennych (o nazwach na przykład "data1", "data2", itd.) Wytworzymy prostą metodę w obiekcie PmFolder o nazwie "dataadd" o jednym parametrze (o nazwie par1), który przedstawia nazwę zmiennej. Metoda zwraca wartość wymaganej zmiennej zwiększoną o 10.
VBScriptWybierz oraz skopiuj do schowka

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

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

If Pm.TestUserInGroup(1, "$ADMIN", pContext.User.Id) Then
  '...
End If
Przykład3:
Wywołanie globalnej metody GetStartTime o parametrze par1 (w ten sposób można wywołać globalną metodę zarówno na serwerze jak również w Web panelu):
VBScriptWybierz oraz skopiuj do schowka

Dim val
val = Pm.Methods.GetStartTime(par1)
Następne przykłady:
Patrz przykłady w opisie właściwości PmObject.Methods.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice