EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

функция user( ) модуля UI.VCAEngine не отлавливает изменений


Author Message
Written on: 10. 07. 2012 [13:05]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
OpenSCADA 0.8.0 с изменениями от 2012.07.10

Что делаю:
Запускаю пользовательский интерфейс, меняю пользователя root на user.
В обработке корневой страницы поместил следующие строки:

JAVASCRIPT
SYS.messDebug( "user:", this.ownerSess().user());


Что ожидаю:
строка в архиве при пользователе root "user: root"
строка в архиве при пользователе user "user: user"

Что есть на самом деле:
строка в архиве "user: root" - при любом пользователе

Правильно ли это ???
Written on: 10. 07. 2012 [13:20]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Правильно ли это ???

Правильно, поскольку команд с пользовательского интерфейса не было, после смены пользователя. Знать пользователя нужно только при выдаче команд, кроме того к одному сеансу может быть подключено несколько визуализаторов с разными пользователями, что в принципе исключает статическое хранение и обновление пользователя.

Learn, learn and learn better than work, work and work.
Written on: 10. 07. 2012 [14:22]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
Ок.

Тогда как сделать видимость/невидимость графического элемента на странице в зависимости от пользователя (root'у показывать, user'у не показывать) ?
Written on: 10. 07. 2012 [16:08]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Тогда как сделать видимость/невидимость графического элемента на странице в зависимости от пользователя (root'у показывать, user'у не показывать) ?

Правами к графическому элементу (owner, perm) естественно: http://wiki.oscada.org/Doc/VCAEngine#h668-13

Learn, learn and learn better than work, work and work.
Written on: 10. 07. 2012 [17:05]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
А если надо управлять свойством графического элемента в зависимости от пользователя ?

Например, мне надо у элемента Protocol1 не показывать колонку Col пользователю user и показывать пользователю root.
Сделал так:

JAVASCRIPT
Protocol1_col = (this.ownerSess().user() == "root")?"pos;tm;utm;lev;cat;mess":"pos;tm;utm;lev;mess";


И как сказано выше - не сработало...

Как тогда решить задачу управлением свойства в зависимости от пользователя ?

Written on: 10. 07. 2012 [17:16]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Как тогда решить задачу управлением свойства в зависимости от пользователя ?

А Вы подумайте как это в принципе возможно исходя из выше описанного мною:
Знать пользователя нужно только при выдаче команд, кроме того к одному сеансу может быть подключено несколько визуализаторов с разными пользователями, что в принципе исключает статическое хранение и обновление пользователя.


Learn, learn and learn better than work, work and work.
Written on: 11. 07. 2012 [09:41]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"s60ru" wrote:

Запускаю пользовательский интерфейс, меняю пользователя root на user.
В обработке корневой страницы поместил следующие строки:
JAVASCRIPT
SYS.messDebug( "user:", this.ownerSess().user());


А вообще, у меня везде пользователь меняется!


Learn, learn and learn better than work, work and work.
Written on: 11. 07. 2012 [16:06]
s60ru
Антон Петров
Topic creator
registered since: 10.05.2012
Posts: 141
если после смены пользователя пощелкать кнопки на странице или на другую страницу перейти, то изменение отлавливается.... и свойство графического элемента обрабатывается/модифицируется....
в принципе для моей задачи подходит.....



21889