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

Скрипты Simple-Scada

Синтаксис

function GetCurrentUser: TM_User;

Описание

Возвращает пользователя, под которым авторизован клиент, вызвавший скрипт.

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

OnClick - пользователь кликнул объект;

OnDblClick - пользователь дважды кликнул объект;

OnMouseUp - пользователь отпустил ЛКМ;

OnDoneInput - пользователь завершил ввод в поле;

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

OnEnter - пользователь перешел на страницу;

OnLeave - пользователь покинул страницу ;

OnSubpageEnter - пользователь перешел на подстраницу;

OnSubpageLeave - пользователь покинул подстраницу;

OnShow - окно было открыто на клиенте;

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

Событие клавиатуры - пользователь (во время просмотра какой-либо из страниц проекта) нажал на клавиатуре сочетание клавиш с использованием клавиш Ctrl / Shift / Alt.

Авторизация пользователя - пользователь авторизовался;

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

Пример кода

var
  aUser: TM_User;
begin
  // получаем пользователя, под которым авторизован клиент
  aUser := GetCurrentUser;
 
  // если пользователь получен
  if aUser <> nil then
  begin
    // выполняем действия с данными пользователя,
    // например, выводим их в текст
    Text1.Text :=
      'Логин: ' + aUser.Login + #13#10 +
      'Ф.И.О.: ' + aUser.FullName + #13#10 +
      'E-mail: ' + aUser.EMail;
  end;
end.