Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Разница работы между Client и WEB  (Прочитано 1252 раз)

ART63

  • Постоялец
  • ***
  • Сообщений: 149
    • Просмотр профиля
Разница работы между Client и WEB
« : 15 Декабря 2021, 13:09:08 »
Добрый день!

Запускаю один и тот же проект в клиенте и на WEB. Получаю разные результаты работы.
1. В WEB обрезается экран по правой границе (скрин во вложении)
2. Нажатие кнопки в WEB выдает о недостаточности прав, клиент открывает окно согласно скрипту (скрин во вложении)

Подскажите, в чем проблема.

ART63

  • Постоялец
  • ***
  • Сообщений: 149
    • Просмотр профиля
Re: Разница работы между Client и WEB
« Ответ #1 : 15 Декабря 2021, 13:20:26 »
Посмотрел внимательно по первому пункту. Тут скорее не обрезается экран, а неправильно отображается таблица.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: Разница работы между Client и WEB
« Ответ #2 : 15 Декабря 2021, 13:22:30 »
Здравствуйте.

1. В WEB обрезается экран по правой границе (скрин во вложении)
В редакторе какая ширина у колонки "Значение"? Скорее всего ширина задана такая, что колонка выходит за пределы таблицы. Сделайте ширину колонки меньше, чтобы она не выходила за пределы таблицы.

2. Нажатие кнопки в WEB выдает о недостаточности прав, клиент открывает окно согласно скрипту (скрин во вложении)
См. описание настройки web-доступа в руководстве по этой ссылке. Вот цитата из руководства:
Код
Важно! По умолчанию, при подключении через web проект доступен только для просмотра. Если требуется управление через web, 
то необходимо открыть проект в редакторе, перейти в настройки и на вкладке "Общие" в параметре "Web-доступ" выбрать "с управлением".

ART63

  • Постоялец
  • ***
  • Сообщений: 149
    • Просмотр профиля
Re: Разница работы между Client и WEB
« Ответ #3 : 15 Декабря 2021, 13:47:35 »
Спасибо за оперативный ответ!!!

Цитировать
В редакторе какая ширина у колонки "Значение"? Скорее всего ширина задана такая, что колонка выходит за пределы таблицы. Сделайте ширину колонки меньше, чтобы она не выходила за пределы таблицы.

Да, это помогло. Но какую вижу проблему. Отладка ведется через клиента. И в нем, несмотря на несоответствие размера, колонка не выходит за границы таблицы.
Т.е. явно прорисовка элемента в клиенте и Web отличается. Каким-то образом клиент оптимизирует размер колонки, а WEB нет.

Цитировать
См. описание настройки web-доступа в руководстве по этой ссылке. Вот цитата из руководства:
Код
Важно! По умолчанию, при подключении через web проект доступен только для просмотра. Если требуется управление через web, 
то необходимо открыть проект в редакторе, перейти в настройки и на вкладке "Общие" в параметре "Web-доступ" выбрать "с управлением".

Работает. Но кнопка не всегда является элементом управления. Её часто используют как элемент навигации между страницами и окнами. Вызов того же отчета не является управлением.
Кстати, кнопка "Отчет" не работает - отчет не формируется.
« Изменён: 15 Декабря 2021, 13:53:02 от ART63 »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1179
    • Просмотр профиля
Re: Разница работы между Client и WEB
« Ответ #4 : 15 Декабря 2021, 16:37:38 »
Цитировать
Т.е. явно прорисовка элемента в клиенте и Web отличается. Каким-то образом клиент оптимизирует размер колонки, а WEB нет.
В обычном клиенте отрисовка производится средствами DirectX/OpenGL, которые позволяют использовать различные методы оптимизации. В web-клиенте отрисовка производится средствами браузера, никак не зависит от скада-системы и мы не можем на нее повлиять.

Цитировать
Но кнопка не всегда является элементом управления. Её часто используют как элемент навигации между страницами и окнами. Вызов того же отчета не является управлением.
Если у кнопки назначен скрипт на событие OnClick, то она потенциально может использоваться для управления. Определить, что в скрипте не производится запись в какую-либо переменную не представляется возможным. Для удобной настройки доступа к объектам имеется гибкая система прав пользователей, которая позволяет настроить права и видимость необходимой информации для каждого пользователя. Можно использовать настройку прав пользователей для объектов, т.е. разрешить доступ к объектам нужным пользователям, а другим запретить, в этом случае объекты не будут скрываться от пользователя, но каждый пользователь будет иметь доступ только к разрешенным объектам(например не сможет нажать кнопку, к которой нет доступа).

Цитировать
Кстати, кнопка "Отчет" не работает - отчет не формируется.
Как указывается имя клиента в скрипте? Через GetClientName или через указание имени конкретного клиента? Если через указание имени конкретного клиента, то для web-клиента задать имя невозможно. Web-клиент не является отдельным приложением и работает в браузере, поэтому он получает случайно сгенерированное имя. Чтобы получить это имя нужно использовать функцию GetClientName. Поэтому, для того чтобы отчет открывался с любого клиента, просто измените код скрипта вот так:
Код: (delphi)
var
  aReport: TM_Report;
begin
  aReport := ReportBuild('Отчёт');
  aReport.View(GetClientName);
end.
« Изменён: 15 Декабря 2021, 21:03:02 от Simple_Scada »

ART63

  • Постоялец
  • ***
  • Сообщений: 149
    • Просмотр профиля
Re: Разница работы между Client и WEB
« Ответ #5 : 16 Декабря 2021, 09:49:00 »
Цитировать
В web-клиенте отрисовка производится средствами браузера, никак не зависит от скада-системы и мы не можем на нее повлиять.
Теперь понятно почему не прорисовываются закругления линий.
Цитировать
Как указывается имя клиента в скрипте? Через GetClientName или через указание имени конкретного клиента? Если через указание имени конкретного клиента, то для web-клиента задать имя невозможно. Web-клиент не является отдельным приложением и работает в браузере, поэтому он получает случайно сгенерированное имя. Чтобы получить это имя нужно использовать функцию GetClientName. Поэтому, для того чтобы отчет открывался с любого клиента, просто измените код скрипта вот так:
Код: (delphi)
var
  aReport: TM_Report;
begin
  aReport := ReportBuild('Отчёт');
  aReport.View(GetClientName);
end.
Понял. Работает. Спасибо!

garfild

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Разница работы между Client и WEB
« Ответ #6 : 18 Августа 2022, 09:16:03 »
Права доступа на клиент и WEB
Нажимаю на кнопку в клиенте все хорошо картинка меняет цвет.
Нажимаю на эту же кнопку в WEB пишет нет прав.

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 166
    • Просмотр профиля
    • Simple-Scada
Re: Разница работы между Client и WEB
« Ответ #7 : 18 Августа 2022, 09:34:36 »
Здравствуйте.

Права доступа на клиент и WEB Нажимаю на кнопку в клиенте все хорошо картинка меняет цвет. Нажимаю на эту же кнопку в WEB пишет нет прав.
См. описание настройки web-доступа в руководстве по этой ссылке. По умолчанию, при подключении через web проект доступен только для просмотра (при этом кнопки не будут работать). Если требуется управление через web, то необходимо открыть проект в редакторе, перейти в настройки и на вкладке "Общие" в параметре "Web-доступ" выбрать "с управлением", сохранить проект и перезапустить его на сервере.