Есть потребность в передаче информации о текущем пользователе в объектах выполняемых в задаче основного узла или в задаче родительского объекта, получение параметров текущего пользователя с помощью функционального блока GET_CURRENT_USERNAME выполняемом в задаче экрана.
На данным момент реализация выполнена следующим образом: исполнение происходит на двух серверах работающих в резерве, подключение к ним происходит от 3-х АРМ компьютеров, где и производятся все работы, соответственно одновременно активны 3 сессии. В MasterScada создан объект выполняемый в задаче экрана, в него вложен функциональный блок GET_CURRENT_USERNAME, с него тянутся значения Username, ClientAddress передаваемые в параметры находящиеся в том же объекте, откуда уже идёт передача информации в другие объекты системы, выполняемые в задачах родительского объекта или в задаче основного узла. Однако при одновременном подключении нескольких сессий передача информации о текущем пользователе начинает сбоить - метаться от одного пользователя к другому или выводит значения о последнем залогинившемся пользователе.
Все рабочие объекты являются библиотечными экземплярами и при назначении их выполнение в задачу экрана при компиляции выходят ошибки.
Как пример задачи в которой требуется знание о текущем подключенном пользователе - это изменение видимости элемента на окне объекта, что-то должно быть видимо только администратору или инженерам, но не операторам и гостям.
Также имеется задача в вызове скрипта AstraLinux на АРМ компьютере, с которого было произведено нажатие кнопки, как пример открытие через wine AbakReporter для печати отчёта, на данный момент применяется функционального блока SysProcessCreateAsync, однако данный функциональный блок открывает программы на сервере (RT), а не на АРМ компьютере (т.е. открывать скрипт там где крутится клиент визуализации DT). Есть ли возможные решения этой задачи?