Автокликер для 1С

Администрирование - Сервисные утилиты

Внешняя обработка, запускаемая в обычном (неуправляемом) режиме для автоматизации действий пользователя (кликер). ActiveX компонента, используемая в обработке, получает события от клавиатуры и мыши по всей области экрана в любом приложении и транслирует их в 1С, получает информацию о процессах, текущем активном приложении, выбранном языке в текущем приложении, умеет сохранять снимки произвольной области экрана, активных окон, буфера обмена, а также, в режиме воспроизведения умеет активировать описанные выше события. Все методы и свойства компоненты доступны при непосредственной интеграции в 1С. Примеры обращения к компоненте представлены в открытом коде обработки.

               Системные требования:

Win7 и выше. Работает под сборкой не ниже .NET 3.5.

               Установка:

Первый раз для регистрации компоненты необходимо запустить 1С от имени администратора. После запуска обработки непосредственно из 1С, необходимо зарегистрировать ActiveX компонент. Регистрация компоненты происходит автоматически при первом запуске записи скрипта, либо при выборе пункта меню "Сервис"-"Переустановить". После этого обработка автоматически закрывается.  Если компонента зарегистрирована успешна, появится диалоговое окно c надписью "Registration successfull!"

Функционал приложения «Автокликер»:

1.       В режиме записи:

- фиксирует активное в данный момент окно, узнает его заголовок и полный путь к исполняемому модулю (программе)

- узнает текущую культуру (язык и раскладку)

- узнает размеры активного окна

- фиксирует все типы кликов мыши, включая сдвиг и скролл

- фиксирует все действия на клавиатуре, включая нажатия  на функциональные клавиши , сервисные  клавиши, комбинации клавиш.

- запоминает буфер обмена

Полученный в итоге скрипт можно сохранить в файл с расширением “ssq”.

2.       В режиме воспроизведения:

- регулирование скорости воспроизведения, путем выставления общей задержки между командами скрипта

- неограниченное количество циклов воспроизведения скрипта

- подмена содержимого буфера обмена и любого другого текста, путем изменения в самом скрипте

- анимация движения курсора мыши (для создания полной имитации действий живого человека) и правильной реакции автоматизируемых  приложений.

Области применения:

1.       Автоматический вход в клиент-банки и скачивание выписок и реестров для  1с, с автоматической закачкой файлов в 1С.

2.       Автоматическая печать некоторых типов  документов, в которых автоматизация не предусмотрена, ввиду устаревшего интерфейса либо отсутствия линковочных модулей.

3.       Отправка извещений пользователям любых современных месенджеров, лишенных OLE (Skype, WhatsApp,Telegramm, ViPole)

4.       Запуск  сложных регламентных административных скриптов, в том числе  автоматические создания бэкапов с условиями, а также отсылка отчетов по почте.

5.       Создание обучающих скриптов, например  для новых пользователей, либо альтернатива видеоурокам.

6.       Создание презентации возможностей ПО (1С, в частности) , либо подсказки разработчиков для людей, проводящих презентации.

7.       Логирование всех действий пользователя ( для служб безопасности или для собственного контроля).

8.       Автоматическое заполнение шаблонов документов MS WORD,Excel (например, договоров)  данными из 1С без навыков владения VBA.

9.       Частичная или полная замена ручного труда операторов по введению информации, хранящейся в разных местах интерфейса информационных систем, особенно это касается типовых конфигураций 1С на поддержке.

Команды Автокликера:

$CurrentProgram

$Title

$WindowRect

$Screenshot

$CurrentLanguage

$Mouse

$Key

$ClipboardBegin/$ClipboardEnd

$Wait

Принцип заполнения команд можно увидеть после самостоятельной записи скрипта с помощью кнопки «Начать запись».

Запись в скрипт ведется построчно.

Работа с Автокликером:

При первом запуске ОБЯЗАТЕЛЬНО запустить 1С от имени администратора, чтобы зарегистрировать используемый в программе ActiveX объект.

Для записи скрипта нажмите на кнопку "Начать запись".

Начнется автоматическая запись скрипта, при каждом новом событии будут добавляться строки скрипта, при этом в строке состояния будут отражены координаты курсора и кнопки.

Для прекращения записи нажмите на кнопку "Остановить запись".

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

Для воспроизведения скрипта нажмите на кнопку "Воспроизвести".

Настройки Автокликера:

Настройки записи

1. Группировать события: В момент записи все однотипные события, такие как события мыши и клавиатуры, будут группироваться в одну строку. Плюс такой возможности - визуальная компоновка скрипта. Минус - при воспроизведении сгруппированные строки не будут визуально смещаться на очередном шаге скрипта. 

2. Сохранять значения буфера обмена:  если флаг проставлен, весь буфер обмена копируется в текущую строку. Если не собираетесь менять ничего в буфере обмена, а будете просто его сохранять и вставлять - то флаг можно не проставлять.

3. Сохранять путь к исполняемым модулям: В процессе испытаний выяснилось, что на Windows10 пути запускаемых модулей могут не показываться  из-за повышенной безопасности. Рекомендуется не включать при эксплуатации на Windows 10 и Windows Server2012.

4. Сохранять скриншоты: если проставлен этот признак, то в ключевые моменты действий пользователя (например при открытии программ или при сохранении файлов) будут сохраняться файлы с расширением JPG - скриншоты активных окон. Тем самым позволяя визуализировать последовательность действий и запомнить информацию, которая была в момент записи скрипта в активном окне.

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

Настройки воспроизведения

1. Задержка воcпроизведения: задержка в миллисекундах между каждой строкой скрипта. Чем она больше, тем медленнее исполняется скрипт. В некоторых случаях задержка просто необходима. Например при старте программ или диалоговых окон. Если задержки между запуском окна и вводом данных не будет, то событие не отработает, т.к. нужно некоторое время для ожидания завершения отрисовки окна на экране. Задержкой может стать несколько пустых строк, а также команда $Wait (Редактирование - Вставить WAIT)

2. Количество повторов: можно зациклить исполнение скрипта.

3. Анимировать курсор мыши: показывает движение мыши между кликами.

4. Воспроизводить построчно: показывает пошагово исполнение скрипта. Если события не сгруппированы, то анимации курсора  не произойдет.

Версия 2.0.18

1. Добавлено сохранение скриншотов: если проставлен этот признак, то в ключевые моменты действий пользователя (например при открытии программ или при сохранении файлов) будут сохраняться файлы с расширением JPG - скриншоты активных окон. Тем самым позволяя визуализировать последовательность действий и запомнить информацию, которая была в момент записи скрипта в активном окне.

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

2. В сервисе добавился пункт "Получить список процессов" - выводит информацию о всех процессах в памяти с их ID.

Скачать файлы

Наименование Файл Версия Размер
Автокликер для 1С:
.epf 186,74Kb
06.04.17
46
.epf 2.1.5 186,74Kb 46 Скачать

См. также

Комментарии
1. Евгений Мадонов (madonov) 156 03.04.17 03:29 Сейчас в теме
Охохох, вот это троянец.
Можно много чего узнать о пользователях. Добавьте возможность получения изображений с экрана и вебки =) .
manlak; Anchoret; +2 Ответить
5. Glory S (slava_1c) 434 04.04.17 04:52 Сейчас в теме
2. Glory S (slava_1c) 434 03.04.17 03:43 Сейчас в теме
)) Ну такой "незаметный" троянец в виде 1с))
получение области экрана есть в активиксе, правда в приватных функциях - не придумал если честно как это в скрипте использовать, если только образы анализировать и юзеру говорить что на них изображено.
3. Sergey Andreev (starik-2005) 1191 03.04.17 10:22 Сейчас в теме
В Линухе есть такая забавная утилитка xdotool, которая умеет двигать мышкой, нажимать на кнопки и прочее. Я как-то в Еве-онлайн целый скрипт написал на php, добывающий с астероидов руду - чисто прикольно было смотреть на то, как самолет летит в пояс астеров, находит там нужный астер, пилит с него руду, потом летит на станцию, продает и так по кругу. И ни один 1С не пострадал.

Ну и ремот контрол громкости, фулскрин и прочее через веб-сервер.
4. Леонид Паутов (Pr-Mex) 107 03.04.17 22:19 Сейчас в теме
Есть ещё SikuliX.
Умеет картинки распознавать.
JohnyDeath; +1 Ответить
6. Антон Вальковский (ruizave) 04.04.17 13:00 Сейчас в теме
Autoit позволяет писать более гибкие скрипты, которые кроме того можно упаковать в exe и выполнять на клиенте без зависимостей.
Кроме того там есть возможность работать не только с координатами, но и id элементами системы.
Правда он только под win если мне память не изменяет.

Скрипты autoit простые. Вполне за неделю можно освоить для создания сложных скриптов, большой пул готовых функций для работы с системой. Неплохая поддержка в виде форумов присутствует (правда если хочется сделать что-то достаточно сложное - нужно идти на англоязычные форумы)
7. Glory S (slava_1c) 434 04.04.17 13:20 Сейчас в теме
(6) Так здесь весь смысл в том, что эта обработка для 1С и исполняется из 1С. Т.е. можно автоматизировать любые действия и реакцию на события из других программ прямо внутри 1С. ActiveX компонент написан специально для использования в 1С. С событиями от мыши и клавиатуры и кучей других полезных функций. И позволяет записать действия и выполнить их без знания программирования вообще. Такого функционала у Autoit нет.
8. Антон Вальковский (ruizave) 04.04.17 13:33 Сейчас в теме
(7) Понятно. Из текста возникло впечатление, что это просто кликер. Если эта обработка работает напрямую с событиями 1С, то это другой уровень, конечно.
9. Glory S (slava_1c) 434 04.04.17 13:54 Сейчас в теме
(8) Спасибо. Сначала для решения своих задач я действительно использовал и Autoit и iMacros... но вот для контроля обратной связи в 1с приходилось создавать файлы, что совсем уж было костылями. Поэтому и решил написать эту компоненту а потом обработку. Она же решила проблемы с отправкой сообщения из 1С пользователям через месенджер. Надеюсь и другим поможет! )))
sulfur17; +1 Ответить
10. Vladimir K (KroVladS) 05.04.17 09:53 Сейчас в теме
(0)
1С:Предприятие 8.3 (8.3.9.2033)
Windows 10 x64
"Получить список процессов" - работает.
"Начать запись", тыкаю в калькулятор, платформа падает.
12. Glory S (slava_1c) 434 05.04.17 11:30 Сейчас в теме
(10)Ого. А если не калькулятор, а ворд или эксель? Вообщем какой нибудь другой процесс? Нет у меня к сожалению такого стенда - испытывал на win7, win serv 2008, платформы 8.3.9.1818 и 8.2.19.130 - там все норм
14. Сергей necropunk (necropunk) 5 05.04.17 11:37 Сейчас в теме
(12) Думаю, имеется в виду платформенный калькулятор.
15. Glory S (slava_1c) 434 05.04.17 11:42 Сейчас в теме
(14)На вышеперечисленных стендах любые действия не приводят к краху платформы. Есть вероятность, что в вин10 закрыли возможность получения части инфо о процессе.
16. Vladimir K (KroVladS) 05.04.17 11:49 Сейчас в теме
(12)
Уточнения.
Запись и воспроизведение работает внутри окна 1с.
Как только тыкаю вне окна 1с, на панель задач, на любое другое приложение платформа падает.
17. Glory S (slava_1c) 434 05.04.17 12:23 Сейчас в теме
(16)Понятно. Ок, поищу 10 винду, буду тестить. А два экземпляра 1с между собой работают?
11. Павел Лоханев (veyron21) 118 05.04.17 10:48 Сейчас в теме
Очень интересная штука. Правда не до конца понял в чем ее принципиальное отличие от остальных кликеров, запускающихся из-под Windows.
А за реализацию респект, кажется, такого тут еще не делали.
13. Glory S (slava_1c) 434 05.04.17 11:37 Сейчас в теме
(11) Спасибо. А принципиальное отличие в том, что написан специальный контрол, в котором есть методы обратной связи с 1С.
Прикрепленные файлы:
18. Glory S (slava_1c) 434 06.04.17 04:46 Сейчас в теме
Нашел платформу сервер2012 - в ней оказалась та же самая проблема, что описана Владимиром в Win10.
Оказалось, при попытке считать информацию о запускаемом модуле в некоторых программах или просто эксплорере, 1с висла намертво.
И это не смотря на то, что получение данной информации было внутри попытки.
Добавил в настройки соотвествующую галку.
Перезалил обработку с версией 2.1.5 с исправленным ActiveX.
19. Alexey Smeshkov (alex_4x) 73 25.05.17 12:47 Сейчас в теме
Очень интересно. А как осуществляется контроль ? В фоне записывать все действия мышка и клавиатура и экран? Это же потом анализировать - с ума сойдешь.
Чувствую что вещь очень нужная и полезная, но вот как применить и для чего - идей нет.
Можете по подробней описать те случаи когда вы уже используете эту компоненту ? И правильно я понимаю, что 1С должна быть обязательно активным приложением? Переключиться например в другое приложение, найти контрол по коду и ткнуть его или сделать Ctrl V Enter - можно?
20. Glory S (slava_1c) 434 25.05.17 16:31 Сейчас в теме
(19) Эта компонента у моих клиентов используется для отправки сообщений из месенджера и для автоматического скачивания информации о транзакциях, естественно при запущенной 1С - в ней написаны соответствующие обработки. В принципе,примерные области ее применения описаны вверху в самой публикации. "Переключиться например в другое приложение, найти контрол по коду и ткнуть его или сделать Ctrl V Enter - можно? "- разумеется. компонента для этого и разработана. Она может даже переключаться в оконном RDP! Можно также анализировать запуск любого приложения по наименованию не только запускаемого файла, но и по имени документа открытого в этом приложении, или, например, сайта.
21. Glory S (slava_1c) 434 25.05.17 16:36 Сейчас в теме
(19)
И правильно я понимаю, что 1С должна быть обязательно активным приложением?
Нет. Как раз компонента отсылает данные из активных приложений в 1С из которой была запущена. В виде фана попробуйте запустить эту обработку и запустить paint.net и там что то нарисовать (в фото к публикации есть примерчик))
22. Glory S (slava_1c) 434 25.05.17 16:37 Сейчас в теме
(21) а потом запустить записанный скрипт на исполнение.
23. Роберт В е р т и н с к и й (v3rter) 25.05.17 16:46 Сейчас в теме
(19)
Это же потом анализировать - с ума сойдешь
Теоретически это несложно: изнутри Windows все элементы всех интерфейсов выглядят в виде наборов окон - каждая надпись, кнопка, галка и т.п. - со своими идентификаторами и именами, действие "нажать мышкой" выглядит как поиск нужного системного "окна", считывание его координат и вызова команды "ткнуть мышкой" в конкретную область экрана. Сложно реализовать практически )
24. Glory S (slava_1c) 434 25.05.17 16:48 Сейчас в теме
(23) Не, анализировать потом как раз смысла мало - надо анализировать налету - ведь в контроле есть соотвествующие события и на перемещения мыши и на клики и на результат этого клика. Плюс картинки можно получать в момент переключения между приложениями - т.е. смотреть содержимое экрана
25. Glory S (slava_1c) 434 25.05.17 16:50 Сейчас в теме
Вот:
Прикрепленные файлы:
26. Максим Кузнецов (Makushimo) 151 26.05.17 05:56 Сейчас в теме
Я правильно понял, что эта штуковина записывает действия пользователя и потом ДЕЛАЕТ все что записала так, как если бы это делал человек?
А как тогда понимать "Создание обучающих скриптов, например, для новых пользователей, либо альтернатива видео-урокам" ?
То есть в процессе обучения скрипт на компьютере пользователя будет что-то делать, а пользователь будет просто тупо смотреть. И ему не надо будет ничего повторять. Как же он чему то научится?

Или имелось в виду, когда разрабу лень гонять к пользователю, то он просто пишет скрипт, который показывает, как работает его новая фича?
29. Glory S (slava_1c) 434 26.05.17 13:59 Сейчас в теме
(26) "Я правильно понял, что эта штуковина записывает действия пользователя и потом ДЕЛАЕТ все что записала так, как если бы это делал человек? " - Да, конечно! Одно но. В приведенном примере она не пишет маршрут мыши - только клики и в этих точках координаты, а эмуляция перемещения - это цикл перемещения мыши от одной координаты к другой по кратчайшему расстоянию.
Но т.к. событие от мыши приходит постоянно - можно и маршрут писать.
При открытии программ лучше поставить побольше задержку, или поставить побольше пустых строк, чтобы приложение успело открыться. (в описании есть этот момент)
На счет создания обучающих роликов. В моем видении это так : Открывается эта обработка, нажимается кнопка "Запись", далее 1С сворачивается и открывается программа, в которой необходимо обучаться, возможно еще один экземпляр 1с, а может и совершенно другая программа. Когда обучающий скрипт записан, его можно сохранить и запускать в любое время, А в случае одинакового расположения программ на других рабочих столах - и на других компьютерах тоже, хотя данный момент можно универсализировать, запуская программу через Start-Run
27. Латыпов (RinGo) 90 26.05.17 07:31 Сейчас в теме
Вопрос: можно ли использовать данный инструмент для обработки события "при нажатии клавиши, комбинации клавиш"?
30. Glory S (slava_1c) 434 26.05.17 14:08 Сейчас в теме
28. Иван Тюриков (tjurikov_ivan) 141 26.05.17 11:17 Сейчас в теме
На УФ вообще не работает? попробовал перевести, после нажатия на кнопку начать запись падает платформа.
31. Glory S (slava_1c) 434 26.05.17 14:19 Сейчас в теме
(28) Если четно на УФ даже не планировал.
32. Иван Тюриков (tjurikov_ivan) 141 26.05.17 14:44 Сейчас в теме
(31)не знаю как действует компонента, как думаете проблема в ней или искать проблему в винде или плаформе?
33. Glory S (slava_1c) 434 26.05.17 15:03 Сейчас в теме
(32) Может быть проблема и в винде, например было тут, что под 10-й не работала - оаказалось получение информации о запускаемом модуле в 10-й винде только под полными правами. Иначе - в ошибку вываливается. Даже если это в попытку запихнуть. Если же этой опцией не пользоваться - все работает.
34. Иван Тюриков (tjurikov_ivan) 141 26.05.17 15:19 Сейчас в теме
(33)ааа, ну тогда наверно в винде, у меня как раз win 10)
35. Glory S (slava_1c) 434 26.05.17 15:47 Сейчас в теме
Тогда вот здесь галочки стоять не должно и надеюсь все заработает.
Прикрепленные файлы:
36. Иван Тюриков (tjurikov_ivan) 141 30.05.17 10:52 Сейчас в теме
(35)Мне кажется я понял, но не уверен.
Как вы вставили на форму элемент ActiveX? не получается его скопировать на УФ, может проблема в этом? хотя по сути он же подключает компоненту через comОбъект.
У меня закрывается клиентское приложение после строки:
Кликер.НачатьЗапись();
37. Glory S (slava_1c) 434 30.05.17 14:27 Сейчас в теме
(36) "не получается его скопировать на УФ" - А это как?

В УФ же нет возможности вставки ActiveX компонента на форму - только как макет. 1С давно еще решил что это лишнее))

Вы его можете зарегистрировать и вызывать как COM-объект - все переменные, функции и события будут доступны .

Я думаю правильнее будет так: Вы эту обработку запустите в этой же базе в неуправляемом режиме, проверьте что все работает на текущей системе, а уж потом колдуйте над УФ.
38. Vladimir K (KroVladS) 19.10.17 16:22 Сейчас в теме
toAll
Аналогов никто не встречал?
В идеале 1с-spy++.
Оставьте свое сообщение