Здравствуйте.
Переходы реализованы через скрипт по изменению значения переменной
См. описание функции "GetClientName (https://simple-scada.com/help/script/getclientname.html)"– она не работает в скриптах, которые вызываются сервером скады (OnDataChange и т.д.). Вызов GetClientName в таких скриптах всегда будет возвращать пустую строку. Соответственно, переход по страницам будет выполняться только для десктоп-клиентов, в настройках которых имя клиента (https://simple-scada.com/help/manual/settings-simple-client.html?anchor=servset) не задано, т.е. = пустой строке. Если задать любое произвольное имя для декстоп-клиента, то переход также не будет работать. Web-клиенты получают случайно сгенерированное имя, поэтому для них такой скрипт никогда не будет работать.
Для перехода по страницам через компонент "Список (https://simple-scada.com/help/manual/combobox.html)", можно использовать следующий способ:
1. Задайте нужным страницам однотипные имена (https://clck.ru/3Uapj2), например PageDiagnostic1, PageDiagnostic2, PageDiagnostic3 и т.д.
2. Перейдите в меню редактирования скриптов и создайте новый глобальный модуль (https://simple-scada.com/help/script/globalmodule.html), например с именем "GlobalUnit" и следующим кодом:
interface
var
ClientData: TM_ClientData;
implementation
finalization
FreeAndNil(ClientData);
end.
3. На событие "OnClick (https://simple-scada.com/help/script/by-obj-event.html)" списка используйте следующий код:
begin
ClientData := GetClientData;
end.
4. На событие "OnDataChange (https://simple-scada.com/help/script/general-events.html)" списка используйте следующий код:
var
aPage: TM_Page;
begin
// ищем страницу с именем PageDiagnostic + значение переменной списка
aPage := GetPageByName('PageDiagnostic' + IntToStr((Sender as TM_ComboBox).AsInt));
if aPage <> nil then // если страница существует
aPage.GoToPageClient(ClientData.Name); // то, перейти на нее
end.
Учитывайте, что такой способ будет работать на 100% корректно только в однопользовательской системе. При одновременной работе множества пользователей всегда есть вероятность, что несколько пользователей будут одновременно взаимодействовать со списком и мешать друг другу.