Я действительно многого не понимаю.
Например, пришлось отказаться от возможности изменения данных в таблице с немедленным (т.е. по факту изменения ячейки) обновлением базы данных, т.к. не реализовано событие по изменению содержимого ячейки таблицы, зато реализовано значение по изменению привязанной к ячейке переменной. Интересно получается: заполняется таблица единым запросом, а привязка переменных должна потом делаться каким-то левым образом?
Попытался сделать "ход конем": завел внутреннюю переменную, которую привязываю к ячейке по клику на ней, а уже по событию изменения этой переменной отвязываю и что-то делаю со значением ячейки... Оказывается, так нельзя, ибо на другом клиенте кому-то забожается сделать то же самое, и моя внутренняя переменная будет содержать совсем не то, что я хотел.
И как быть?! Получается, ни один клиент не может сделать что-то своё?! Конфиликты на уровне базы данных решает сама база, а конфликты уровня СКАДА не решает никто. Т.е. на двух клиентах с моим подходом невозможно изменить две РАЗНЫЕ ячейки одной и той же таблицы!
И решения не предлагается, дескать, невозможно будет работать. А сейчас, получается, возможно...
Одно пока утешает: доступ к изменению базы есть только у условного админа, а он с разных клиентов в принципе зайти не может одновременно. Да и запрет на множественный логин тоже спасает. Но ведь это явно кривое решение!
Окна ввода проблему с таблицей решат вряд ли, т.к. редактировать ячейки при помощи отдельных окон то еще удовольствие!
Имхо, на клиенте должна быть возможность создания и хранения исключительно локальных, клиентских переменных. Клиент записал в переменную ссылку на реальную OPC-шную, и работает с ней, как желает. Другой клиент создаст проблему только в том случае, если в свою локальную запишет ссылку на ту же самую ОРС-переменную, но вероятность одновременного доступа к одному и тому же мала, и ничем не отличается от нынешней ситуации. Зато на разных клиентах можно будет одним и тем же универсальным скриптом делать РАЗНОЕ.
Разве этот подход несет какие-то новые риски?! Где тут усложнение разработки? Какие могут быть последствия в этом случае, которых не может быть в нынешнем состоянии?