РусскийФокс и ClickerMann заносят данные в 1С

21.07.18

Разработка - Инструментарий разработчика

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . РусскийФокс создает сценарии для Clickermann. Сценарий заполняет справочник в 1С.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
РусскийФокс версия 1.07
.rar 5,94Mb ver:1.07
1
1 Скачать (1 SM) Купить за 1 850 руб.

  Бывает так, что надо заполнить справочники в программе, а импортировать нет возможности или лень программировать. Тогда можно попросить робота 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С и заносить в них наши данные.

 

РусскийФокс Clickermann 1C Макрос

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    170013    939    403    

906

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    13083    100    46    

104

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26749    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    16935    41    15    

75

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    190717    1151    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

15000 руб.

10.11.2023    11457    40    27    

66

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    935    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    103997    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. grumagargler 727 22.07.18 05:09 Сейчас в теме
Если еще будет стоять похожая задача с подобным желанием её решить, попробуйте одну из систем сценарного тестирования, например через Тестер это можно было бы сделать на обычном 1С, думаю другие системы тоже имеют похожий функционал.
2. andreosh 103 22.07.18 05:24 Сейчас в теме
Тестер у 1С слишком сложный и описаний хороших по работе с ним не попадалось. Может подскажете, что почитать ? Есть такое понятие "порог вхождения". Задача РусскийФокс снизить порог вхождения. ClickerMann так же достаточно простая прога. В clickermann есть еще хорошая функция - это считывание цвета в любой точке экрана. Например, чтоб убедится, что карточка открылась, я могу проанализировать изменился ли цвет точки в определенном месте. Если цвет точки не равен требуемому, то значит что-то пошло не так, возможно произошла какая-то ошибка и выполнение сценария следует остановить. Я еще не тестировал эту возможность, но позже включу нужные методы в объект "clickermann"
3. grumagargler 727 22.07.18 05:28 Сейчас в теме
4. andreosh 103 22.07.18 05:34 Сейчас в теме
"Запуск Тестера и тестируемой конфигурации желательно производить на одном компьютере. Для запуска программ на разных компьютерах, необходимо настроить порт и адрес тестируемого приложения в справочнике Приложения." (https://habr.com/post/331532/) Это же усложнение требований, не говоря уж об установке тестера. А Clickermann может работать с любой прогой или вебсайтом без установки. Возможно, что у тестера 1С возможностей поболее, но в описанной мной задаче можно обойтись без дополнительных возможностей. Простую проблему надо решать просто.
5. andreosh 103 22.07.18 05:40 Сейчас в теме
(3)
test1c.com
Достаточно почитать минусы тестера, чтоб понять, что в данной задаче РусскийФокс лучше.
6. grumagargler 727 22.07.18 05:54 Сейчас в теме
(5)
Достаточно почитать минусы тестера, чтоб понять, что в данной задаче РусскийФокс лучше.

Мда...ну лучше, значит лучше, я ведь не утверждал обратное, а только предложил попробовать.
Удачи.
7. andreosh 103 22.07.18 06:40 Сейчас в теме
За предложение Спасибо ! Во всяком случае, почитал про тестер 1С.
8. Ta_Da 22.07.18 08:17 Сейчас в теме
(5)
в данной задаче РусскийФокс лучше

В задаче по переносу данных из справочника в 1С в электронную табличку, путем эмуляции нажатий клавиш и копирования данных наугад из одного окна в другое с помощью программы, которая сама по себе имеет язык сценариев и может это все сделать без кириллического посредника? Вполне возможно что лучше. Но что-то мне подсказывает, что никто в реальной жизни таким образом эту задачу решать не будет.
9. andreosh 103 22.07.18 08:34 Сейчас в теме
Но я решил вчера ее именно таким образом. Запустил на ночь и занес клиенту 5000 карточек основных средств в удаленный сервер (облако). Задержки я поставил большие, потому заносится 1000 записей за полтора часа. Это быстрее, чем ковыряться в сценариях. Сценарий же должен брать записи из Calc OpenOffice.
10. user928779 22.07.18 18:18 Сейчас в теме
(9)
Это быстрее, чем ковыряться в сценариях.

Это характеризует разработчика, а не механизм.
11. andreosh 103 23.07.18 00:00 Сейчас в теме
Чем больше разнообразных способов решения проблемы, тем лучше. А каким способом решать, каждый сам выберет.
12. Perfolenta 206 26.07.18 11:19 Сейчас в теме
(11) Мне кажется, что вы выбрали не верный путь для раскручивания своего языка... Вы в основном демонстрируете какие-то очень частные решения мелких проблем, причем для решения каждой из этих задач вы внедряете в "язык" какой-то объект... Я думаю это не правильно... По-моему, Вам надо отделить язык от прикладных библиотек, показать мощь и красоту самого языка в чистом виде, а затем подумать над стандартной библиотекой полезных функций и объектов в обобщенном виде и поразить воображение богатством возможностей...
Пока все выглядит хаотичным метанием без какого-либо плана....
Это дружеская критика, если что... т.к. сам сейчас размышляю о плане "выхода в люди" :)
13. andreosh 103 26.07.18 11:54 Сейчас в теме
Вы предлагаете большую системную работу, но пока на нее нет времени, приходится еще делать и то за что платят деньги. Я пишу язык для своих разработок (это будет типа внешних обработок к моим прогам). А так я на нащупываю потребности других людей, чтоб развивать язык в востребованном направлении. Во многих языках усложняют, то что можно сделать просто. Я пробую создать простой для усвоения язык программирования. Пока, к сожалению, это единственный русскоязычный ОО язык программирования.
15. Perfolenta 206 26.07.18 15:16 Сейчас в теме
(13) я в такой же ситуации, мне так же необходимо в первую очередь заработать на жизнь, а потом любое хобби, вроде языка программирования... :) но если уж я делаю серьезный язык, то нужна некая академичность в разумных пределах, а иначе будет сарай с прицепом....
Вы часто делаете упор на то, что Русский Фокс это единственный ОО язык, вот сюда и толкайте, покажите красоту и привлекательность того, что это ООП... что бы читающий и смотрящий заразился этой красотой и сказал: "да, это красиво и элегантно!"...
Следующим шагом можно очертить круг задач, в решении которых ваш язык будет эффективен, например, как это сделал ОСкрипт, очертив для себя нишу скриптов администрирования вокруг 1С... Как пример, "Русский Фокс позволяет легко прикрутить к своей программе на другом языке внешние отчеты"... и покажите, вот структура отчета, вот так он программируется...вот так его можно прикрутить к 1С, а вот так к C#, а вот так к языку Н...
Это конечно не простая работа, но иначе мы с вами работаем, что называется в стол...
18. andreosh 103 26.07.18 17:57 Сейчас в теме
(15) В ближайшее время опишу способы создания экранных форм, покажу формирование более сложного отчета по шаблону OpenOffice, работу с DBF-файлами (индексы и соединение файлов), экспорт и импорт в XML. Затем уже перейду на MySQL, командную строку Windows (администрирование через командную строку, объекты на Русском Фоксе будут запускать командные строки Windows и разбирать возвращаемый результат), дальнейшее развитие взаимодействия с Clickermann (он обладает функциями своего рода экранного зрения, то есть может сравнивать изображения на экране, чтоб анализировать открылось окно или что-то пошло не так).
19. Perfolenta 206 27.07.18 16:16 Сейчас в теме
(18)
Clickermann
это не очень серьезно... я за свою жизнь много работал с подобными штуками... они регулярно глючат по разным неожиданным причинам... например, кошка пробежала по клавиатуре... или антивирус не во время выдал окно поверх других окон и еще миллион событий... мне ребенок как-то выключил компьютер и я потерял несколько часов работы.... на любой ваш сценарий найдется непредвиденная ситуация.... иногда, конечно без него не обойтись, если у какой-то программы нет возможности управлять ей из кода... но если есть, как у 1С, то лучше избежать использования кликера...
работа с ДБФ по идее должна быть сильной стороной Фокса, хотя я с ним не работал, не знаю... может вы меня и присадите на него немного :)
20. andreosh 103 27.07.18 16:48 Сейчас в теме
(19) Clickerman хорош тем, что обладает экранным зрением, то есть вы можете его запрограммировать, чтоб он сравнивал цвет пикселей в разных частях экрана (позже я добавлю в РусскийФокс эти возможности). Тогда если кошка пробежала по клавиатуре, то сценарий остановится, так как цвет пикселей в ключевых точках не будет соответствовать ожидаемому. Так же возможно сравнение и нахождение на экране изображений (областей экрана), сравнивая его с эталонным, записанным в файле. Конечно, программировать на Clickermann можно и без Русского Фокса, но проще начать с Русским Фоксом. Конечно, РусскийФокс хорош пока для начинающих программистов или сисадминов, так как профессионал предпочтет писать прогу на языке оригинала без переводчика типа РусскогоФокса, но и времени потратит на решение некоторых задач больше.
14. andreosh 103 26.07.18 12:12 Сейчас в теме
(12) В принципе я двигаюсь разными путями. Но основная цель - это не раскрутить, а развить в востребованном направлении. Для этого надо прислушиваться к различным мнениям. Кроме этого, есть потребность объединить свои знания различных языков программирования (FoxPro, php, javascript, CSS и т.д.) в одном русскоязычном языке программирования.
16. Perfolenta 206 26.07.18 15:31 Сейчас в теме
(14) развить в востребованном направлении это хорошо, но без раскрутки оно в массы не пойдет... если посмотреть на список не взлетевших русскоязычных языков программирования, то можно удивиться, что о большинстве из них мы даже не слышали... а автор сварился в собственном соку... если обратите внимание, то еще ни одно из ваших видео на Ютубе не собрало более 100 просмотров... и только 3 из них превысили 50... без раскрутки все умрет в забвении... я просто сам об этом размышляю, вот и вас стараюсь направить, как мне кажется, в правильном направлении... мне просто давно хочется, что бы русскоязычные языки программирования были... может быть мой не выстрелит, так пусть еще чей-то... радуюсь успехам ОСкрипта и надеюсь, что он уже не умрет, кажется он живет и растет, но у него была огромная фора, т.к. он простая копия языка 1С... у нас с вами этой форы нет, хотя и мы идем как рыбы прилипалы за некоторой совместимостью с языком 1С, т.к. надеемся в начале пути на крохи от его популярности...
17. andreosh 103 26.07.18 17:47 Сейчас в теме
(16) 1С просто задал первоначальный стандарт, которому имеет смысл следовать.
Оставьте свое сообщение