Methods - page of object PmObject

On this page either the user's methods of the object.
NewThe Method window is opened where new method can be added.
DeleteRemoves the marked method
EditThe Method window is opened the marked method can be edited.
Further methods can be added to the object on this page. Correct usage of these methods very simplifies and makes the application more readable.

An example of the usage: Imagine the folder PmFolder that represents a device (e.g. Boiler). Sometimes it is necessary to detach this Boiler. It can be done so that in another folder there is detailed algorithm how to detach the Boiler but much better is to create the method directly in the Boiler folder where the algorithm for the outage is placed. Then from the other folder this method is just called.

An arbitrary number of methods can be defined in this page. A definition of just one method can be found on each line of the list (that is on the top left). These methods can be then called by the PmObject.Methods or Pm.Methods property.
Method parameters:
pMe(Object) Reference to the Promotic object, where the method is defined.
pResult[for write only] (Variant) Represents a return parameter that is used for method output value.

Available only for methods written in VBScript language. For JavaScript language the return value is set in return command.

pContext(Object) (for PmRoot and PmPanel objects) reference to the object containig additional information about method calling conditions.
pContext.User - (Object) property with User object referrence, containing detailed information about the user (local or network), that called the method. It can be used for example:
- for protecting the method for specific logged user or user group.
- for storing and reading the private user state data using the methods SetPrivateData and GetPrivateData.

Caution! In order to keep the subobject User value trustworthy it is necessary to exclude the the pseudo-groups $ANY and $ANY_NET from the appropriate permission WebRead (i.e. to ensure that the user is logged in when opening the WEB panel).

pContext.Language - (String) it returns the information about the national language, to be used for text outputs of the method (suitable especially for calling the method from Web panels). Language is determined with a text identifier, e.g. "en", "de", "ru" etc. - see Fully supported languages in the PROMOTIC system. See the configurator "Main language of runtime".
pContext.TypeEnable - (Long) A permission type of client method calling. The designer can (according to the user setting, password or the computer address) disable the operation. Setting this parameter is recommended only for special cases. Common security setting is better to be done by standard means of the permissions: WebMethods.

Caution! The property is functional only for Web panels.

1 (default) - enabling operation.
-1 - required log-on of the user (if the user hasn't been set) or disabling the user (if the user has been set but the name and password are wrong).
-2 - disabling operation for the client unconditionally.
User defined parameters(Variant) They serve as passed parameters when calling the method These parameters are defined in the Parameters configurator.
The methods defined on this page for the PmPanel object (panel methods) and for the PmRoot object (global application methods) can be called even in the scripts of panels that are meant for WEB sharing.
A list of used methods together with each method launch count can be seen in the INFO system in specific object view page. The selected method can also be launched in this page (only if the method does not include the user parameters) after selecting from the local menu (by the right mouse button). See permission PmRoot > Permissions > InfoEdit.
In the PmFolder object there is the PmData object (with the name "DAT") that contains several variables (with the names, for example "data1", "data2", etc.) Let's create simple method in the PmFolder object with the name "dataadd" with one parameter (with the name par1) that represents a name of the variable. The method returns the value of the requested variable increased by 10.
Dim val
val = pMe.Pm("DAT").Item(par1).Value
pResult = val + 10
We can call this method anywhere:
n = oFolder.Methods.dataadd("data1")
Checking whether the user calling the method is a member of $ADMIN group:
If Pm.TestUserInGroup(1, "$ADMIN", pContext.User.Id) Then
End If
Calling the global method GetStartTime with the par1 parameter (this way the global method on the server can be called from web panel):
Dim val
val = Pm.Methods.GetStartTime(par1)
Next examples:
See examples in description of PmObject.Methods property.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice