Пожалуйста, включите JavaScript для просмотра этого сайта.

Скрипты Simple-Scada

Синтаксис

function GetClientName: string;

Описание

Возвращает имя клиента, который вызвал скрипт. Важно! Данная функция работает только в скриптах, к вызову которых приводят действия пользователя выполненные через клиент Simple-Scada (или web-клиент). К ним относятся скрипты назначенные на следующие события:

OnClick (пользователь кликнул объект),

OnDblClick (пользователь дважды кликнул объект),

OnMouseUp (пользователь отпустил ЛКМ),

OnDoneInput (пользователь завершил ввод в поле),

OnCellClick (пользователь кликнул ячейку таблицы),

OnEnter (пользователь перешел на страницу),

OnLeave (пользователь покинул страницу),

OnSubpageEnter (пользователь перешел на подстраницу),

OnSubpageLeave (пользователь покинул подстраницу),

OnShow (окно было открыто на клиенте),

OnClose (окно было закрыто на клиенте);

В таких скриптах точно известно, какой клиент их вызвал, поэтому в них функция GetClientName работает, возвращая имя клиента. В других скриптах, которые выполняются сервером скады независимо от клиентов, она работать не будет. Например, в скриптах на события OnDataChange, OnDataChangeEx, OnDoneSQL, "Запуск проекта", "Остановка проекта", "Выполнен SQL-запрос", "Таймер", "Начало часа", "Отчет построен" и т.д. Для примера рассмотрим скрипт с типом события "Таймер". Такой скрипт выполняется сервером Simple-Scada через заданный в парамерах скрипта интервал, даже когда к проекту не подключен ни один клиент. Вызов GetClientName в этом скрипте будет всегда возвращать пустую строку, т.к. сервер не знает, для какого именно клиента нужно вернуть имя (ведь клиентов может быть много и у каждого клиента может быть задано уникальное имя).

Пример кода

begin
  { вывести имя клиента в объект "Text1" }
  Text1.Text := GetClientName;
  
  { свернуть десктоп-клиент, который вызвал скрипт }  
  MinimizeApplicationClient(GetClientName);
  
  { закрыть десктоп-клиент, который вызвал скрипт } 
  CloseApplicationClient(GetClientName);            
end.