Вход | Регистрация

1С:Предприятие ::

Метки: 

Как использовать внешнюю компоненту autoit для позиционирования окон

Я
   DmLo
 
29.09.17 - 14:06
Необходимо в 1с выводить несколько окон, позиционируя их определенным образом. Как я понял, для этого необходимо использовать внешние компоненты. Остановился на autoit, но, как ей пользоваться, не понятно. Подскажите пожалуйста
 
 
   vis_tmp
 
1 - 29.09.17 - 14:12
А что это за окна?
Может, сделать  обработку показывающую эти данные?
   luter-89
 
2 - 29.09.17 - 14:14
(0) А показ нескольких окон в последних версиях 8.3 не подойдет?
   ildary
 
3 - 29.09.17 - 14:14
(0) почитать инструкцию, обратиться на русскоязычный форум auotit - не, это сложно. Пусть одинэсники отвечают, все равно они тыжепрограммисты.
   DmLo
 
4 - 29.09.17 - 14:16
(2) Нет.
(3) Было бы время сидеть там, обратился бы. А тут наверняка кто-то уже с ней работал
   ildary
 
5 - 29.09.17 - 14:29
(4) Ну я работал, никого не спрашивал, гуглил и читал форумы. Autoit - простейшая программа, как VB и 1С. Ты же на Мисте не спрашиваешь как установить конфигурацию?
   Филиал-msk
 
6 - 29.09.17 - 14:30
(4) На тематическом форуме с этим никто не работал и у тебя нет для него времени. Но время для сидения на непрофильном по вопросу форуме у тебя есть и тут должны знать.
Я ничего не путаю в твоей логике?
   ildary
 
7 - 29.09.17 - 14:34
(6) вечная тема "Сделайте за меня".
   ildary
 
8 - 29.09.17 - 14:55
Кстати, вангую, что не взлетит - я вспомнил как на днях пытался автоматизировать нажимание кнопок при обновлении конфигурации - автоит сильно лажал, так как 1С в своих контролах не показывает всю нужную информацию (вроде Caption, не помню). Могу тот скрипт выложить сюда (он короткий), но комментировать его не буду - все операторы оттуда гуглятся на раз, нет там никакой магии.
   DmLo
 
9 - 29.09.17 - 15:21
(8) если не сложно, скиньте строку с регистрацией внешней компоненты и сам скрипт, собственно
   H A D G E H O G s
 
10 - 29.09.17 - 15:24
Никак. Никаких идентификаторов винды в окна не выводится
 
 Рекламное место пустует
   H A D G E H O G s
 
11 - 29.09.17 - 15:25
(8) нужную кнопку находил по координатам?
   ildary
 
12 - 29.09.17 - 15:29
(9) я делал отдельное приложение - екзешник, который висит в трее винды и ловит окошки.


(10) вот-вот я о том же. Хорошая идея сделать кнопки "Далее" самонажимаемыми разбилась о то, что может быть запущено 2 конфигуратора, а в конфигураторе может быть открыто окно совсем другое, но с тем же классом.

(11) нет, по классу.
   ildary
 
13 - 29.09.17 - 15:31
Вот собственно сам скрипт, но предупреждаю - он работает в весьма узких условиях, поэтому проще сказать, что он НЕ РАБОТАЕТ:

#include <Constants.au3>


_Main()


Func FirstWindow()

    $WinTitle = "[CLASS:V8TopLevelFrame]" ; окно конфигуратора

    While 1

        If WinExists( $WinTitle ) Then

            $hCtrl = ControlGetHandle( $WinTitle, "", "[CLASS:V8MDILocalFrame]" )
            If $hCtrl Then ExitLoop

        EndIf
        Sleep( 1000 ) ; 1 sec

    WEnd

    TrayTip( "Внимание!", "Окно обновления готово!", 5 * 60, $TIP_ICONASTERISK )
    Sleep( 5 * 60 * 1000 ) ; 5 min

EndFunc ;FirstWindow

Func ObjectWindow()

    $ObjWinTitle = "[CLASS:V8NewLocalFrameBaseWnd]" ; окно "Существуют объекты"

    While 1

        If WinExists( $ObjWinTitle ) Then

            $hCtrl = ControlGetHandle( $ObjWinTitle, "", "[CLASS:V8FormElement; INSTANCE:5]" ) ; окно "Существуют объекты"
            If $hCtrl Then ExitLoop

        EndIf
        Sleep( 1000 ) ; 1 sec

    WEnd

    WinActivate( $ObjWinTitle )

    $hCtrl = ControlGetHandle( $ObjWinTitle, "", "[CLASS:V8FormElement; INSTANCE:3]" ) ; Кнопка ОК в окне "Существуют объекты"
    If $hCtrl Then ; нажмем

        Send( "{ENTER}" ) ; ControlClick НЕ РАБОТАЕТ
        Sleep( 1000 )
        Send( "{ENTER}" )

    EndIf

    TrayTip( "Внимание!", "Пора нажимать кнопку сохранить!", 5 * 60, $TIP_ICONASTERISK )
    Sleep( 5 * 60 * 1000 ) ; 5 min

EndFunc ;ObjectWindow

Func NewData()

    $WinTitle = "Реорганизация информации"

    While 1

        If WinExists( $WinTitle ) Then ExitLoop

        Sleep( 1000 ) ; 1 sec

    WEnd

    TrayTip( "Внимание!", "Пора нажимать кнопку принять!", 5 * 60, $TIP_ICONASTERISK )
    Sleep( 5 * 60 * 1000 ) ; 5 min

EndFunc ;NewData


Func _Main()

   FirstWindow()

   ObjectWindow()

   NewData()

EndFunc ;_Main


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует