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

21.07.18

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

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

Файлы

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

Наименование Скачано Купить файл
РусскийФокс версия 1.07
.rar 5,94Mb ver:1.07
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

  Бывает так, что надо заполнить справочники в программе, а импортировать нет возможности или лень программировать. Тогда можно попросить робота 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С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

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

24900 руб.

20.08.2024    66798    356    163    

309

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

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

16500 руб.

02.09.2020    257355    1425    421    

1163

Инструментарий разработчика Нейросети Платные (руб)

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

15250 руб.

25.08.2025    53412    110    29    

121

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    37870    100    46    

121

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    25011    92    44    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3385    12    1    

14

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    52563    182    63    

215
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. grumagargler 731 22.07.18 05:09 Сейчас в теме
Если еще будет стоять похожая задача с подобным желанием её решить, попробуйте одну из систем сценарного тестирования, например через Тестер это можно было бы сделать на обычном 1С, думаю другие системы тоже имеют похожий функционал.
2. andreosh 103 22.07.18 05:24 Сейчас в теме
Тестер у 1С слишком сложный и описаний хороших по работе с ним не попадалось. Может подскажете, что почитать ? Есть такое понятие "порог вхождения". Задача РусскийФокс снизить порог вхождения. ClickerMann так же достаточно простая прога. В clickermann есть еще хорошая функция - это считывание цвета в любой точке экрана. Например, чтоб убедится, что карточка открылась, я могу проанализировать изменился ли цвет точки в определенном месте. Если цвет точки не равен требуемому, то значит что-то пошло не так, возможно произошла какая-то ошибка и выполнение сценария следует остановить. Я еще не тестировал эту возможность, но позже включу нужные методы в объект "clickermann"
3. grumagargler 731 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 731 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 207 26.07.18 11:19 Сейчас в теме
(11) Мне кажется, что вы выбрали не верный путь для раскручивания своего языка... Вы в основном демонстрируете какие-то очень частные решения мелких проблем, причем для решения каждой из этих задач вы внедряете в "язык" какой-то объект... Я думаю это не правильно... По-моему, Вам надо отделить язык от прикладных библиотек, показать мощь и красоту самого языка в чистом виде, а затем подумать над стандартной библиотекой полезных функций и объектов в обобщенном виде и поразить воображение богатством возможностей...
Пока все выглядит хаотичным метанием без какого-либо плана....
Это дружеская критика, если что... т.к. сам сейчас размышляю о плане "выхода в люди" :)
13. andreosh 103 26.07.18 11:54 Сейчас в теме
Вы предлагаете большую системную работу, но пока на нее нет времени, приходится еще делать и то за что платят деньги. Я пишу язык для своих разработок (это будет типа внешних обработок к моим прогам). А так я на нащупываю потребности других людей, чтоб развивать язык в востребованном направлении. Во многих языках усложняют, то что можно сделать просто. Я пробую создать простой для усвоения язык программирования. Пока, к сожалению, это единственный русскоязычный ОО язык программирования.
15. Perfolenta 207 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 207 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 207 26.07.18 15:31 Сейчас в теме
(14) развить в востребованном направлении это хорошо, но без раскрутки оно в массы не пойдет... если посмотреть на список не взлетевших русскоязычных языков программирования, то можно удивиться, что о большинстве из них мы даже не слышали... а автор сварился в собственном соку... если обратите внимание, то еще ни одно из ваших видео на Ютубе не собрало более 100 просмотров... и только 3 из них превысили 50... без раскрутки все умрет в забвении... я просто сам об этом размышляю, вот и вас стараюсь направить, как мне кажется, в правильном направлении... мне просто давно хочется, что бы русскоязычные языки программирования были... может быть мой не выстрелит, так пусть еще чей-то... радуюсь успехам ОСкрипта и надеюсь, что он уже не умрет, кажется он живет и растет, но у него была огромная фора, т.к. он простая копия языка 1С... у нас с вами этой форы нет, хотя и мы идем как рыбы прилипалы за некоторой совместимостью с языком 1С, т.к. надеемся в начале пути на крохи от его популярности...
17. andreosh 103 26.07.18 17:47 Сейчас в теме
(16) 1С просто задал первоначальный стандарт, которому имеет смысл следовать.
Для отправки сообщения требуется регистрация/авторизация