Бывает так, что надо заполнить справочники в программе, а импортировать нет возможности или лень программировать. Тогда можно попросить робота Clickermann перенести данные из электронной таблицы в программу. Пусть робот за вас нажимает на клавиши. Но писать типовые сценарии для Clickermann удобнее из Русского Фокса, а не в Clickermann.
В прилагаемом файле имеется пример составления такого сценария (см.файл Lesson13.rus из RusFox_v1_07.rar). Я же дам краткие пояснения к примеру и предоставлю учебное видео.
Программа ClickerMann.exe генерирует нажатия клавиатуры по программному сценарию, имитируя работу пользователя. Это можно использовать для заполнения справочников в различных программах. Например, в уроке 13 показано, как в Русском Фоксе формировать сценарий к программе ClickerMann для создания новых карточек по основным средствам для программы 1С. У меня возникла необходимость ввести более 13000 карточек в программе 1С, при этом данные для заполнения полей в карточках содержатся в таблице Calc OpenOffice. ClickerMann выполнит эту работу, а РусскийФокс напишет ему сценарий для выполнения.
Создаем два объекта (см. Lesson13.rus)
Офис = НовыйОбъект("RepOpenOffice")
Об = НовыйОбъект("clickermann")
Объект «Офис» будет читать данные из таблицы Calc, а объект «Об» будет формировать файл со сценарием для ClickerMann.exe.
Об.НачатьЗаписьСценария("test","Больница")
Здесь test – это задаваемое нами имя файла со сценарием (он будет иметь расширение “.cms”). Больница — это слово, которое содержится в заголовке окна открытой программы 1С. В программе 1С мы должны сами открыть справочник «Основные средства» до запуска сценария. ClickerMann, выполняя наш сценарий, сам активизирует окно 1С (в заголовке которого есть слово «Больница»), так как в сценарии будут соответствующие команды.
Используя объект «Офис» мы получаем содержимое нужных нам ячеек и заполняем нужные переменные.
Наименование = Офис.ПолучитьСтрокуИзЯчейки(1, Начало)
Нужные переменные мы передаем в функцию
ДобавитьОсновноеСредство(Наименование,ИнвНомер,Сумма,Номер,Об)
Данная функция производит запись команд в файл сценария (“test.cms”), которые произведут создание новой карточки в программе 1С, внесут в нее нужные данные и нажмут кнопку «Записать». Таким образом, нужные данные попадут в справочник 1С.
Имитируя нажатие клавиши INS, робот ClickerMann создаст новую карточку основного средства в списке основных средств.
Об.КлавишаINS()
После этой команды, на всякий случай, сделаем задержку 500 миллисекунд, чтоб команда нормально отработала (для надежности я делаю заведомо большую задержку).
Об.Задержка(500)
После создания новой карточки курсор будет находится в поле «Наименование». В это поле мы заносим наше значение.
Об.ПечататьСтроку(Наименование)
Теперь нам надо перейти на поле для ввода инвентарного номера. Для этого надо нажать три раза клавишу TAB
Об.КлавишаTAB()
После задержки вставляем нужные данные в это поле. Затем вновь нажимаем TAB. Вводим норму амортизации (в данном случае во всех карточках вводим 100). После этого вновь нажимаем TAB. Вносим количество часов работы оборудования в год (во всех карточках 1925). Затем нажимаем 9 раз клавишу TAB, чтоб попасть на строку «Примечание». В нее записываем порядковый номер карточки. Вновь нажмем TAB и окажемся на кнопке «Записать». Чтоб «нажать» кнопку вводим команду
Об.КлавишаВВОД()
В конце вновь добавляем задержку, чтоб карточка успела сохраниться перед тем как мы вновь начнем повторять эти процедуры для ввода новой карточки.
Для закрытия файла «test.cms» после окончательной записи сценария вызываем
Об.ЗакончитьЗапись()
После выполнения данной программы мы получим файл сценария для ClickerMann.exe в файле test.cms. Запустив данный сценарий мы увидим, как робот ClickerMann будет создавать новые записи в программе 1С и заносить в них наши данные.