1 мая 2011 г.

Автоматизация

На работе столкнулся с заданием, которое заключалось в вводе данных в базу через специальный (убогий) клиент. Несмотря на то что отдел информационных технологий работает на другом этаже, а не на Марсе, как можно было подумать наблюдая результаты их работы, делать свою работу они не собирались. У меня были "сырые" данные, я мог их предоставить в любом виде (текст, csv, xml), но мне никто не собирался помогать. Сказано вводить через "специальную программу", значит через нее родимую, а все эти базы данных это не для вас, простых пользователей.
Вот так я столкнулся с задачей по автоматизации своего труда. Работа инженера предполагает творческую составляющую, она подразумевает ответственность человека за то, что он делает. Мыслительный процесс и результаты обычно трудно автоматизировать, но и в своей работе я сталкивался с большим количеств рутиных задач, которые утомляли своим однообразием и требовали совсем немного вмешательства. В первую очередь это составление отчетов, заказов - с этим справляется Excel и VBA (как бы я его не ругал за непродуманность, некоторые написанные программы исправно работают несколько лет, облегчая мой труд).
В данном случае работа оказалось слишком примитивной. Для начала я её попробовал выполнить в ручном режиме: создал xls-документ с данными необходимыми для ввода, скопировал одну строчку, перешел в окно программы, ввел, выделил другую ввел, закончил ввод. Я замерил время выполнения данной работы - получилось в среднем 45 секунд на ввод. Выглядело все очень уныло, попытка повторить все это несколько сотен раз могла привести к непоправимым изменениям в моем головном мозге.
"Это работа для компьютера, а не для человека!" - сказал я себе и начал искать решение. Далеко я ходить (в интернет) не стал, а решил попробовать проверенное решение, о котором я слышал много лет назад. Это оказалась программа для автоматизации под названием xstarter.
А сейчас, я в свойственной для себя манере, напишу почему мне не понравилась данная программа и почему я не буду ей пользоваться. Забегая вперед скажу, что даже не смотря на все минусы все проблемы я решил и организовал автоматический ввод данных. В работе я столкнулся со следующими препятствиями:
  • при записи макроса информационное окно перегораживает элементы окна, в частности это бесполезное напоминание загородило мне скроллбар;
  • при работе программы возникают всплывающие окна, которые опять же могут загораживать элементы интерфейса
  • невозможно никак ускорить работу макроса: если вы медленно возили мышкой - ровно с такой же скоростью будет исполняться макрос
  • самый главный недостаток: нет никакой возможности экстренно прервать выполнение скрипта!
  • кроме того программа периодически глючила, загружала процессор на полную мощность, да и документация мне не понравилась. 
Хотя у программы есть много плюсов:
  • она очень простая
  • для русскоязычных пользователей она бесплатна
Благодаря программе xstarter спустя 30 минут я смог написать скрипт, который повторял мои действия. Благодаря поддержке переменных в программе, я смог организовать цикл и это избавило меня от необходимости нажимать на кнопку запуска.
Работая с программами подобного рода трудно быть уверенным в правильности работы, ведь немножко сдвинутое окно и все ваши макросы нажимают и вводят данные не туда куда нужно! Именно поэтому возможность прервать скрипт меня очень расстроила.
Возможно в следующий раз, когда возникнет подобная проблема, я использую альтернативу. Например продвинутый макро-рекордер autoclickextreme или даже проверенный временем AutoIt (про программирование в котором книжки пишут).

Комментариев нет :

Отправить комментарий