GetClientName

> [HTML Version](getclientname.html)

**Синтаксис**

````
function GetClientName: string;

````
**Описание**

Возвращает имя клиента, который вызвал скрипт.

**Важно\! Данная функция работает только в скриптах, к вызову которых приводят действия пользователя выполненные через десктоп-клиент или web-клиент. К ним относятся скрипты назначенные на следующие события: **

- OnClick (пользователь кликнул объект), 

- OnDblClick (пользователь дважды кликнул объект), 

- OnMouseUp (пользователь отпустил ЛКМ), 

- OnDoneInput (пользователь завершил ввод в поле), 

- OnCellClick (пользователь кликнул ячейку таблицы), 

- OnEnter (пользователь перешел на страницу), 

- OnLeave (пользователь покинул страницу), 

- OnSubpageEnter (пользователь перешел на подстраницу), 

- OnSubpageLeave (пользователь покинул подстраницу), 

- OnShow (окно было открыто на клиенте), 

- OnClose (окно было закрыто на клиенте);

- [Событие клавиатуры](keyboard-event.md) - пользователь (во время просмотра какой-либо из страниц проекта) нажал на клавиатуре сочетание клавиш с использованием клавиш Ctrl / Shift / Alt.

В таких скриптах точно известно, какой клиент их вызвал, поэтому в них функция GetClientName работает, возвращая имя клиента. В других скриптах, которые выполняются сервером скады независимо от клиентов, она работать не будет. Например, в скриптах на события OnDataChange, OnDataChangeEx, OnDoneSQL, "Запуск проекта", "Остановка проекта", "Выполнен SQL-запрос", "Таймер", "Начало часа", "Отчет построен" и т.д. Для примера рассмотрим скрипт с типом события "[Таймер](second-passed.md)". Такой скрипт выполняется сервером Simple-Scada через заданный в парамерах скрипта интервал, даже когда к проекту не подключен ни один клиент. Вызов GetClientName в этом скрипте будет всегда возвращать пустую строку, т.к. сервер не знает, для какого именно клиента нужно вернуть имя (ведь клиентов может быть много и у каждого клиента может быть задано уникальное имя).

**Пример кода**

````
begin  
  // вывести имя клиента в объект "Text1"  
  Text1.Text := GetClientName;  
    
  // свернуть десктоп-клиент, который вызвал скрипт  
  MinimizeApplicationClient(GetClientName);  
    
  // закрыть десктоп-клиент, который вызвал скрипт  
  CloseApplicationClient(GetClientName);              
end.
````