Добрый день.
Исходные данные - Есть шаблонные окна. Информация отображаемая в окне берется из таблицы. Таблица заполняется из базы данных. Информация заполняется скриптом, вызываемым событием OnShow окна.
Задача - Обновить отображаемые в окне данные, при изменении данных в таблице, если окно уже открыто.
Мое решение - У меня есть переменная, которая изменяется каждый раз при изменении таблицы. В шаблонном окне я на шейп повесил эту переменную, и на OnDataChange я повесил свой скрипт. Скрипт выполняет нужную мне задачу, данные обновляются, но мне не очень нравится что скрипт вызывается и для тех окон, которые на текущий момент не видны никому. Я предполагаю, что окна инициализируются на старте проекта на сервере, поэтому они существуют и скрипты для них выполняются.
Вопросы- Есть ли какая то возможность понять отображается где-то шаблонное окно или нет, чтобы я мог не выполнять скрипт для невидимых никому окон? Или есть в принципе подход получше для решения такого рода задачи? (Если что хранить данные не в таблицах, а в переменных не очень хочется, т.к. окон таких в проекте штук 300-500 и создавать под всё это переменные как то не с руки). Может быть можно как то скриптом перебрать все отображаемые в данный момент окна, и вызвать для них нужное событие?