Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Отловить кнопки

Ответить
Настройки темы
Отловить кнопки

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день, уважаемые коллеги!

Подскажите, пожалуйста - по каким критериям можно идентифицировать кнопку в 1С, чтобы обеспечить надёжное её нажатие?

Есть 1С Итилиум, в котором нужно для закрытия нарядов нажимать некие кнопки (см. скриншот: Itilium.png).
Но проблема в том, что у кнопок непостоянное значение Instance. То есть, положим, я с помощью AutoIt Windows Info получил значение типа
Код: Выделить весь код
Title:	Итилиум 4.4
Class:	V8TopLevelFrameSDI
>>>> Control <<<<
Class:	V8FormElement
Instance:	74
ClassnameNN:	V8FormElement74
Advanced (Class):	[CLASS:V8FormElement; INSTANCE:74]
ID:	274378548
ControlClick Coords:	10, 10
Затем настраиваю клик
Код: Выделить весь код
ControlClick($hWin, '', '[CLASS:V8FormElement; INSTANCE:74]', 'left', 1, 10, 10)
Но это сразу же перестаёт работать, потому что при открытии следующего наряда (или даже при открытии того же наряда заново) та же самая кнопка может иметь значение
Код: Выделить весь код
>>>> Window <<<<
Title:	Итилиум 4.4
Class:	V8TopLevelFrameSDI

>>>> Control <<<<
Class:	V8FormElement
Instance:	99
ClassnameNN:	V8FormElement99
Advanced (Class):	[CLASS:V8FormElement; INSTANCE:99]
ID:	273451860
ControlClick Coords:	10, 10
В связи с этим вопросы:
  1. Как надёжно ловить эти кнопки, чтобы щёлкать по ним? Есть ли что-то универсальное, чтобы указывать в ControlClick? Табами получается тоже ненадёжно, периодически промахивается.
  2. Есть ли какой-то способ ждать, кроме Sleep, предположим, чтобы была проверка, доступна ли эта кнопка или нет? А то интерфейс периодически тормозит, и паузы то слишком большие, то скрипт не дожидается и шарашит дальше мимо кассы.

Спасибо!

Отправлено: 10:55, 18-09-2017

 

Старожил


Сообщения: 352
Благодарности: 44

Профиль | Отправить PM | Цитировать


Может в это направление лучше смотреть - типа ControlClick("Итилиум 4.4","","V8FormElement74")

Отправлено: 14:59, 18-09-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Ну а в другой раз он V8FormElement99, в том-то и дело.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 17:52, 18-09-2017 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Отловить кнопки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
ControlSend отловить браузер binary AutoIt 6 02-06-2010 09:41
[решено] Отловить форму в IE Lodoss AutoIt 3 26-11-2009 11:12
[решено] Отловить visible text Frost_Imp AutoIt 7 25-09-2009 12:55
Debian/Ubuntu - Неправильно работает Numpad: кнопки '+50,' работают как кнопки мыши Viktorr Общий по Linux 0 29-04-2009 20:40
не могу отловить зловредов Лина Лечение систем от вредоносных программ 11 24-11-2008 11:06




 
Переход