This is topic Нажатие кнопки "Готово" в диалоговом окне "Ввести и передать" in forum Операторский интерфейс SCADA/HMI TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.
Каким образом можно поймать событие нажатия кнопки "Готово" в диалоговом окне "Ввести и передать" и выполнить какое-либо действие (например вызвать канал CALL)? Конкретно нужно выполнить программу при подтверждённом вводе значения аргумента типа STRING
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
При нажатии кнопки "Готово" производится запись введенного значения в привязанный аргумент экрана, это стандартное диалоговое окно, на него другую функцию не задать. Если требуется, можно программно анализировать значение того аргумента, куда пишется введенное значение и производить необходимое сравнение при изменении значения этого аргумента. Или можно сделать отдельную форму для ввода значения, например через "ввести и передать" писать во вспомогательный аргумент, а рядом поставить отдельную кнопку подтверждения, которая бы уже введенные данные пересылала в нужный аргумент. На нажатие кнопки можно поставить одновременно несколько событий.
Posted by automatization.pro (Участник № / Member № 8232) on :
>> производить необходимое сравнение при изменении значения этого аргумента
Правильно ли мне помнится, что в ST нет штатных строковых функций, в том числе нет возможности сравнивать строки?
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
Операции со строками, кроме конкатенации, в Trace Mode 6 не декларированы.
Опишите решаемую Вами задачу.
Если это использование "пароля" для выполнения той или иной задачи, то есть намного проще способы реализации. Я смогу Вам предложить варианты решения при наличии подробного описания решаемой задачи и ожидаемого результата.
Posted by automatization.pro (Участник № / Member № 8232) on :
Спасибо за ответ!
Задача такая: при нажатии на ГЭ Кнопка происходит запуск определённого процесса, одновременно, используя обработчик "Ввести и передать", оператору предлагается ввести текстовый комментарий к выполненной операции, который при подтверждении ввода кнопкой "Готово" должен быть записан в базу данных через канал CALL.SQLQuery
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
Спасибо за описание решаемой задачи.
Вы должны понимать, что по описанию, должно происходить ДВА действия - запуск процесса и запись комментария в БД.
Действие по нажатию - отработает при нажатии. Действие "ввести и передать" - после подтверждения.
Если необходимо выполнять оба действия по нажатию ОДНОЙ кнопки, то программно (рекомендации по втором сообщении этого топика).
Удобнее сделать две кнопки - одна пишет комментарий (ввести и передать), а вторая запускает на отработку процесс (прямая передача).
Не совсем понятен смысл обязательного ввода комментария. Если структура комментария каждый раз одинаковая, то можно программно собирать текст комментария и записывать его в БД в момент нажатия кнопки запуска отработки процесса.