Синтаксис
function GetUserName: string;
Описание
Возвращает имя активного пользователя на клиенте, который вызвал скрипт. Важно! Данная функция работает только в скриптах, к вызову которых приводят действия пользователя выполненные через клиент Simple-Scada (или web-клиент). К ним относятся скрипты назначенные на следующие события:
•OnClick - пользователь кликнул объект;
•OnDblClick - пользователь дважды кликнул объект;
•OnMouseUp - пользователь отпустил ЛКМ;
•OnDoneInput - пользователь завершил ввод в поле;
•OnCellClick - пользователь кликнул ячейку таблицы;
•OnEnter - пользователь перешел на страницу;
•OnLeave - пользователь покинул страницу ;
•OnSubpageEnter - пользователь перешел на подстраницу;
•OnSubpageLeave - пользователь покинул подстраницу;
•OnShow - окно было открыто на клиенте;
•OnClose - окно было закрыто на клиенте;
В таких скриптах точно известно, какой клиент их вызвал, поэтому в них функция GetUserName работает, возвращая имя пользователя. В других скриптах, которые выполняются сервером скады независимо от клиентов, она работать не будет. Например, в скриптах на события OnDataChange, OnDataChangeEx, OnDoneSQL, "Запуск проекта", "Остановка проекта", "Выполнен SQL-запрос", "Таймер", "Начало часа", "Отчет построен" и т.д. Для примера рассмотрим скрипт с типом события "Таймер". Такой скрипт выполняется сервером Simple-Scada через заданный в парамерах скрипта интервал, даже когда к проекту не подключен ни один клиент. Вызов GetUserName в этом скрипте будет всегда возвращать пустую строку, т.к. сервер не знает, для какого именно клиента нужно вернуть имя пользователя (ведь клиентов может быть много и в каждом клиенте может быть авторизован свой пользователь).
Пример кода
begin
Text1.Text := GetUserName; // вывести имя пользователя в объект "Text1"
end.