Что такое RPA? Как и зачем его делать на 1С?

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

 

Всё новое — это хорошо забытое старое

 

Слышали ли Вы когда-нибудь про AutoIt, AutoHotKey, Sikuli, Selenium? Собственно сам подход стар как мир, но раньше мы его называли "костылями" а теперь более модным словом — RPA. 

На самом деле тут фраза примерно из разряда "DevOps это не про Docker"… "RPA это не про автокликер".

Автокликер всего лишь подход.

RPA — это решение ближе к BPM системам — когда вы визуально описываете по сути рабочий процесс, а потом просто нажимаете кнопку "play" и этот процесс выполняется.

При этом из блоков в нём может присутствовать как "Получить данные из SAP" так и "кликнуть на смешную рожицу".

Главное, что весь программный код (именно так и надо воспринимать робота всё-таки) должен иметь визуальную понятную бизнесу структуру, и также RPA разработчик не должен быть ограничен возможностями 1C/С#/Java/Js/Go и прочих ЯП/Платформ, впрочем вообще никем не должен быть ограничен.

Главная задача — сокращение FTE, если число бесполезных действий пользователя сокращено — проект RPA успешен (в рамках бюджета, конечно :)).

 

Какие Бывают RPA решения

 

Сейчас решений, конечно, уже становится достаточно много, перечислил ниже то, чем более или менее можно пользоваться:

 

UiPath — самый крупный и популярный, соответственно и самый дорогой.

Хорошо: всё продумано, очень много Actions, современный визуальный интерфейс

Плохо: Microsoft Workflow Foundation (этим всё сказано, для тех, кто знает, о чём я). А для тех, кто не знает — штука довольно спорная в визуальном плане. Соответственно .NET и Windows его кредо. Кроме того, жутко дорогая штука (около 8к зеленых за робота в год).

 

AutomationAnyware:

Хорошо: действий просто тонна, старейшее решение.

Плохо: Никакой визуальной части — только код. Только Windows. Естественно жутко дорого. В России практически не представлен

 

BluePrism

Хорошо: Много действий, хорошая документация

Плохо: Ужасный устаревший интерфейс. Только Windows. Естественно жутко дорого. В России практически не представлен

 

PIX

Хорошо: Российская разработка

Плохо: Beta, только код только хардкор. Только Windows.

 

Electroneek

Хорошо: Российская разработка

Плохо: Жуткий интерфейс, малое число действий, использование в работе online сервисов (в т.ч. платных), только Windows, зачем то прикрученный JS.

 

Robin

Хорошо: Российская разработка

Плохо: Непонятно, жив или мёртв. И да, интерфейс жуткий

 

Ну и причём тут 1С?

 

Для тех, кто ещё не понял — на территории РФ 90% всех рутинных операций выполняются в нашей с вами любимой системе.

У особо продвинутых конечно много что автоматизировано. Но вот как раз на стыке со сторонними системами, особенно с Legacy или популярными большими и иностранными (поняли же на кого я намекаю), хотя не только.

Более того, всё чаще в своей деятельности, я встречаю кейсы когда разработчики(!) 1С не всегда имеют право на доступ в часть 1С систем. И доработка (в т.ч.) интеграционная становится — "большим проектом на сотни трудочасов", которые "ставят в план на будущий год". А тем временем люди копируют информацию из одной системы и вставляют её в другую.

Но я даже не знаю что хуже, те кто ждёт проекта или те кто громко кричит:

"Теперь у нас есть RPA" и даже на видео люди не стесняясь показывают заполнение форм 1С путём поиска компонент по рисункам на экране! :).

Почему такое решение использовать хм… "крайне не желательно". Объясню чуть дальше.

А мысль этого абзаца такова — автоматизировать можно всё, даже если нельзя, но очень хочется, то особенно это можно, и особенно актуально это нам в 1С. 

 

Что умеют и что не умеют RPA системы?

 

Вообще, как показывает практика, у нормальной RPA системы должно быть 4 "обязательных" компонента взаимодействия с окружающим миром (у перечисленных выше есть не у всех, кстати):

  • Взаимодействие с интерфейсом посредством имитации действий пользователя
    • Посредством Window Handler
    • Посредством распознавания графических изображений
    • Взаимодействие с web сайтами посредством поиска элементов на Web странице
  • OCR

Все остальные действия могут расходиться от системы к системе.

Для чего целых три метода взаимодействия с интерфейсом? Конечно имитация действий пользователя — дело нестабильное.

И чем больше оно AI, тем менее оно стабильное. Собственно Computer Vision сейчас пошло вперёд, но идентифицировать одну и ту же кнопку в интерфейсе WindowsXP и Windows 10 даже человек не всегда отличит. А там где проблемы есть у человека ИИ пока ещё явно бессилен:

Вообще прибегать к распознаванию изображений для имитации действий пользователя — последнее дело.

В данном случае решения получаются крайне нестабильными, часто их эксплуатация "съедает" всё сэкономленное FTE.

Вариант чуть получше — использование хэндлов элементов управления Windows.

Собственно, кто знаком с Windows API знает. По факту окно и все оконные элементы создаются средствами операционной системы.

ОС Windows хранит информацию обо всех окнах и элементах, созданных таким образом. В случае если для создания элементов управления используется Windows API — у всех их есть адреса (хэндлы) и к ним можно обратиться напрямую. 

Но и тут бывают трудности — не всегда "кнопки" которые вы видите на экране приложения создаются средствами Windows API. Никто не мешает разработчику разместить на панели картинки и обрабатывать клики по ним. Собственно примерно так и сделано в 1С. Т.е. по факту средствами Windows API можно получать только отдельные окна 1С.

И последний метод обращение к Web браузеру. В современном мире всё больше и больше Web приложений, поэтому данный метод становится всё более актуальным. Он работает достаточно стабильно (относительно распознавания картинок). Но может использоваться только для Web приложений.

А что в 1С? Ну в 1С это только для Web клиента… Притом в случае с 1С данный метод использовать нежелательно.

Web интерфейс — закрыт притом может меняться от версии платформы к версии платформы (и меняется). 

Так как же правильнее всего взаимодействовать с 1С для имитации действий пользователя? Догадались?

Вот так:

Картинки по запросу 1с запись действий пользователя

К сожалению, RPA системы которые есть на рынке этого не умеют и уметь скорее всего не будут.

Собственно это и зародило мысль что не помешала бы своя "1С-ная" RPA платформа:

 

RPA на 1С можно ли?

Собственно далее просто дело техники.

Конструктор процессов

Используется "графическая схема" 1С. Которую вполне можно и удобно редактировать программно.

Подошло практически идеально. Робот в RPA это по сути ни что иное как бизнес процесс. Элементы похожие, схема сериализуется.

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

 

Имитация действий

Делится на три части:

— Windows. Тут собственно всё просто — можно использовать AutoIT или выполнить функции WindowsAPI. Так же в .NET есть прекрасная библиотека UIAutomation, которая помимо всего прочего может ещё неплохо распознавать элементы .NET приложений, а это сейчас уже более 30% всех Windows приложений. Используется довольно легко. Как подцепить к 1С? Ну или написать NativeAPI компоненту на C++ или объект который можно зарегистрировать как COM на .NET. И то и другое в целом делается достаточно просто.

— Computer Vision. Если уже пришлось его использовать то не стоит рассчитывать на корректную работу, тем не менее задачу поиска похожего изображения никто не отменял. Для этого существует замечательная и популярная библиотека OpenCV. В С++ её использовать достаточно сложно, поэтому в данном случае компоненту проще сделать через .NET обвязку и подключать к 1С как COM. Можно использовать что-то более "тяжелое" вроде TensorFlow. Но эксперименты показывают что ради пары процентов увеличения в качестве распознавания похожих (которое без правильных настроек всё равно не увидеть) прихоидтся существенно жертвовать производительностью и гибкостью

— Web страница. Тут выбор однозначен — Selenium WebDriver (для него тоже есть обвязки практически для всех языков).  И работает это сейчас намного стабильнее чем всё остальное. Ничего стороннего лучше не брать — просто установить расширение Chrome которое позволяет извлекать селекторы и использовать.

— OCR. В современном мире распознавание текста/лиц/объектов это совсем не сложная задача (если конечно не хочется чтобы оно было лучше чем у всех). Для распознавания попробовал tesseract OpenSource библиотека, по традиции имеющая обвязаки под все популярные языки и среды. Путём нехитрых манипуляций оборачивается в COM/.NET объект и качество распознавания… ну знаете без глубокой экспертизы даже с Abby уже будет трудно заметить. Нормальный не испорченный скан с потокового сканера распознаёт практически без ошибок. 

Далее делаем действия по выполнению кода 1С, записанных действий, работы с почтой и FTP (простым кодом 1С) и воаля, прототип RPA платформы на 1С:

Не так уж и плохо выглядит даже в сравнении с лидером рынка:

 

Для запуска действий 1С в целевой системе устанавливается расширение — которое по http получает сериализованных роботов, и просто выполняет их код. 

Конечно не всё так просто — есть переменные, условия, циклы.. процедура выполнения кода получилась достаточно замороченной.

А что ещё мы получаем полезного:

  • С 1С можно работать нативно (вызовом кода)
  • RPA платформа будет кроссплатформенной (кроме Windows библиотеки конечно) — тонкий клиент ведь 1С есть под все популярные платформы
  • Поскольку "справочник" это только запись в БД и все они сериализуются — система получилась расширяемой без проблем.

А теперь самое главное — "зачем я всё это написал"?

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

94 Comments

  1. FB_2666200586776551

    Автор прости, но у тебя какой-то пунктик с интерфейсами. Ладно наш не понравился, ясно-понятно, карандаши на вкус для всех разные, но у тебя все интерфейсы жуткие 🙂

    Дай скрин красивого/хорошего/юзабельного примера интерфейса. Хочется понять глубину твоих желаний.

    Anyway, у electroNeek с момента твоего доклада вышло 4 крупных апдейта, сервисов завезли много и функций. Вышел продукт для связки desktop и SaaS роботов. Очень рекомендую делать фактчекинг перед публикацией.

    Reply
  2. FB_2666200586776551

    Кстати, у нас скоро выйдет статья тут с примерами работы в 1С, роликами и прочему. Порадуем вас.

    Reply
  3. starik-2005

    php/python + xdtool = uber rpa, а все вот это описываемое — хлам, ИМХО…

    Reply
  4. Rustig

    (0) где деньги, бро? как на этом зарабатывать сейчас?

    Reply
  5. blackhole321

    Статью с примером использования планируете?

    Reply
  6. Leits

    Автор, можно привести примеры бизнес процессов который можно роботизировать в 1С?

    Reply
  7. утюгчеловек

    (6) Оператор сканирует файлы в pdf с распознаванием, робот 1С мониторит папку, получает текст pdf через IFilter, по вхождению ключевых слов находит какому контрагенту/документу соответствует — прикладывает файл к нужному документу в 1С, пишет письмо ответственному менеджеру вида «Дорогой Олег, контрагент Рога и Копыта оплатил счет, есть повод пропить свою комиссию!», формирует от имени Олега заказ на доставку пиццы и СМС ответственному менеджеру конрагента «Семён, ваш заказ оплачен! Рады нашему сотрудничеству».

    Кодить эту логику — это в чистом виде работа программиста, но если код функ.блоков уже написан — можно запихнуть это во фреймворк RPA, чтобы делать вот это всё, но в визуальном конструкторе.

    Reply
  8. утюгчеловек

    Согласен с комментирующими выше, по этой теме «истории успеха» будут гораздо интереснее, чем просто обзор технологии или понтенциала платформы в этой сфере.

    Reply
  9. comol

    (1) ну у меня пунктик… Да. Год долбаных дизайнерских курсов. Ну то что я видел у Electroneek… Скрол Скрол и ещё раз скролл, не нормативные блоки, зачем то сделанные декомпощиции. Лучший интерфейс для workflow этот nintex имхо конечно. В 1С интерфейс лаконичный, но я в данном случае про ux не про ui.

    Reply
  10. comol

    (2) а у нас это у кого? У pix? У uipath? Видел я эти примеры… Поржал. Одни картинки используют другие com. Лучше бы в принципе отказались от этой затеи… Ну или хотя бы нашли время Odata освоить. Может и не пришлось бы заниматься этой разработкой…

    Reply
  11. comol

    (3) ну RPA это не про код… Это про совместить процесс моделирования и разработки робота… Ну и конечно тут ценность в нативном взаимодействии с 1С

    Reply
  12. comol

    (4) если бы я знал уже бы зарабатывал, а не статьи писал… Но люди на этом нереально бабла поднимают. А сама технология как видишь простая до предела.

    Reply
  13. comol

    (5) видюха есть. Если интересно могу кинуть в личку. Если продукт пойдёт в

    OpenSource выложу на инфостарт.

    Reply
  14. comol

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

    Reply
  15. comol

    (8)да будут ещё истории успеха… Погодите. Пару ещё пару внедрений сделаем и на реальных кейсах

    Reply
  16. blackhole321

    (13) Да, интересно. Скиньте, если не сложно.

    Reply
  17. SirAlexIT

    (3) А почему вы выбрали в данной связке именно phyton?

    Я не цепляюсь к словам, а пытаюсь выбрать оптимальный набор инструментов и обращаюсь за опытом/сравнительной оценкой.

    Reply
  18. SirAlexIT

    (15) Уже в предвкушении!))

    Reply
  19. starik-2005

    (11)

    ну RPA это не про код…

    Соглашусь отчасти, т.к. кейсов, из которых нужно собрать робота, никогда не бывает мало -> работа для софтверного инженера. Я вот на xdotool и php делал даже простой «скрипт копания астеройдов» в одной онлайн-игре, а можно было бы и куда более сложный скрипт сделать со случайными дрожаниями курсора мыши и прочее — производительности хватало и на скрин экрана, и на распознавание области (тот же GOCR, а можно и свою нейросеть заучить, если очень надо), и на клики — еще и задержки надо было ставить, благо xdotool, будучи бесплатной, умеет и окна читать, и активировать их, и задержки, и… Наверное вообще все.

    Не буду спорить, что сама по себе идея использовать подобные системы для некоторой автоматизации некоторых процессов, реализованных через ПО, созданное по «старым технологиям», не предусматривающим межпроцессное взаимодействие — это хорошо. Но в 1С, на мой скромный взгляд, такой проблемы вроде бы не должно существовать, ибо любой клик — это известный код, которым можно вызвать извне (в пределе — через систему взаимодействия), поэтому не совсем ясна цель. Тот же разнос банковской выписки, если делать ее через клики, — это не простой весьма процесс, ибо бухгалтер каким-то своим хитрым методом выискивает к платежу документ-основание, выбирая что-то, известное только ему (ей). Если же хитростей нет, то бухгалтера сократить и сделать разбор по назначению платежа, а неразобранное засунуть в отдельный список для «ручного» разбора любым освободившимся сотрудником — тут кликер вообще не к месту.

    С другой стороны, всегда интересно узнать, где я тту выше ошибся…

    Reply
  20. starik-2005

    (17) в питоне много разных библиотек (включая любимые всем нейросети), а xdtool — это вообще отдельное приложение, командной строке которого позавидует и сам bash. А для скорости рекомендую «PyPy» (если надо). Пробовал на голой математике — примерно в 10 раз ускоряется, т.е. питон становится даже быстрее даже, чем PHP, при том не теряется разрядность в вычислениях.

    С другой стороны, можно и на bash написать, или на sh — кто ж против? При том никто не мешает сделать из этого конструктор (тот же flask взять и замутить на нем веб-интерфейс для рисования схем — он там проще чем на 1С делается, ибо никакой сериализации — все объектно и нет ограничений убогости 1С-ного интерфейса, а либ на эту тему тоже масса).

    Но вообще, все зависит от задачи. И их спектр ограничен старым ПО, из которого не вытянуть данные иными способами, поэтому приходится изобретать вот такие вот велосипеды. Если есть возможность сделать это через какой-то обмен данными — не стоит использовать эту недотехнологию…

    Reply
  21. comol

    (20) Тем не менее ни одна из существующих RPA систем не реализована на питоне. Подсказать почему? :))) Или сами?

    Проведём викторину — «почему нет RPA с Web интерфейсом» :))))) и «почему их не делают на питоне?»

    Ну и да, такой же вопрос, «почему их не делают на AutoIT или AutoHotKey» которые конечно намного более подходят для этих целей чем питон.

    Reply
  22. blackhole321

    (7)

    Кодить эту логику — это в чистом виде работа программиста, но если код функ.блоков уже написан — можно запихнуть это во фреймворк RPA

    А зачем в этом случае RPA?

    Reply
  23. comol

    (19) В 1С это нужно когда 1С взаимодействует с другой системой… будь то какой нить монстр вроде SAP-а SalesForece-а или WorkDay-я… или с чемс то жутким легаси. Распознавание картинок там как таковое не особо критично. Что ты привязался к этому xdtool — не панацея. Под винду есть более уместные средства, под web свои, под картинки свои. Разнос банковской выписки подразумевает её сначала получение из банка… а «правила известные ему/ей» = машинное обучение.

    Reply
  24. Petr54-ru

    Не могу просечь философию этого дела. По определению, с википедии

    Robotic process automation (или RPA) это технология, которая позволяет любому пользователю настроить компьютерное программное обеспечение или «робота» для эмуляции действий человека, взаимодействующего с цифровыми системами, для выполнения бизнес-процесса. Роботы RPA используют пользовательский интерфейс для сбора данных и управления приложениями.[1]

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

    Какой смысл эмулировать действия пользователя в форме и при этом разводить у себя на работе зоопарк из программных продуктов и технологий? Логично ведь не лезть в пользовательский интерфейс и манипулировать данными напрямую при помощи языка 1С.

    Нашел в интернете описалово сео дела от первого бита, с кейсами и примерами. Не впечатлило. Выглядит как способ увеличения бюджета проекта.

    Reply
  25. Petr54-ru

    (19)

    Тот же разнос банковской выписки, если делать ее через клики, — это не простой весьма процесс, ибо бухгалтер каким-то своим хитрым методом выискивает к платежу документ-основание, выбирая что-то, известное только ему (ей). Если же хитростей нет, то бухгалтера сократить и сделать разбор по назначению платежа, а неразобранное засунуть в отдельный список для «ручного» разбора любым освободившимся сотрудником — тут кликер вообще не к месту.

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

    Конкретная реализация также сильно зависит от специфики бизнеса. Где то может это очень просто решается.

    Reply
  26. comol

    (24) Философия в том что аналитик смотрит что делает человек, определяет что это рутина… и автоматизирует… при этом прозрачно для бизнеса и человека. Делает робота который заменяет. Его. Если человек работает только в 1С то это вполне может быть программный код в 1С, оформленный в красивые схемки,

    Если человек работает с 1С, почтой, SAP экселем, ещёкакойтофигнёй — один аналитик автоматизирует одним роботом всю деятельность человека… Вцелом это УМЕНЬШАЕТ бюджет проекта но УВЕЛИЧИВАЕТ стоимость владения. Тем не менее в случае RPA проектов можно реально посчитать их ROI исходя из сокращения FTE — это круто.

    Первый БИТ в RPA это конечно сильно… хочется сказать «остановись, что же ты делаешь» 🙂

    Reply
  27. comol

    (17) хмм… наверное потому что это топ 1 по популярности язык сейчас :). Знает каждый школьник.

    Reply
  28. comol

    (26)

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

    +100500 — как минимум который 1 раз разнесёт правильно так как надо

    (26)

    Конкретная реализация также сильно зависит от специфики бизнеса

    — нет, никак не зависит. От слова «совсем»

    Reply
  29. starik-2005

    (23)

    Разнос банковской выписки подразумевает её сначала получение из банка…

    Так 1С запилила директ-банк, а КПМГ и прочие делойты топят за это с целью безопасности процесса, чтобы не было разных файликов в разных каталогах, которые «в более уместной системе» не редко подвергаются редактированию каким-то неизвестным софтом.

    А машинное обучение при таком раскладе будет давать вероятность (не 100%-ю обычно) того, что вот этот вот список параметров очень сильно похож на вот этот вот результат. Уж не ожидал от Вас такого маркетингового понимания этого машинного обучения.

    Reply
  30. Petr54-ru

    (25)

    Если человек работает с 1С, почтой, SAP экселем, ещёкакойтофигнёй — один аналитик автоматизирует одним роботом всю деятельность человека… Вцелом это УМЕНЬШАЕТ бюджет проекта но УВЕЛИЧИВАЕТ стоимость владения. Тем не менее в случае RPA проектов можно реально посчитать их ROI исходя из сокращения FTE — это круто.

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

    Почем нынче на рынке аналитик, повелевающий роботами и нормальный 1С кодер, есть разница?

    Если руководитель лично заинтересован в наращивании эффективности своих подчиненных, то он и так знает все рутины своего подразделения и вынесет мозг руководству, чтобы программист в этом направлении поработал. Если не заинтересован — то да, без аналитика никак.

    Reply
  31. starik-2005

    (24)

    Выглядит как способ увеличения бюджета проекта.

    Ровно так.

    Reply
  32. comol

    (31)

    Интеграция с 1С всего чего ни попадя, это для обычного 1С программиста задача тривиальная

    Ага… интегрируйтесь с SAP без разработчика SAP :))))) Тривиальная…

    Интегрируйтесь с ГОС системами куда нет доступа.

    (31)

    В жирной компании

    А остальным что делать?

    Reply
  33. Petr54-ru

    (28)

    — нет, никак не зависит. От слова «совсем»

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

    Алгоритмы поиска документов оснований и аналитик будут просты как три копейки.

    Reply
  34. утюгчеловек

    (22) Чтобы без программирования собрать мозаику из функциональных блоков в инструкции роботу?

    Не понял что вы не поняли — конкретизируйте ваш вопрос, если можно.

    Reply
  35. ktb

    (0) А репа есть? 🙂

    Интересно было бы покрутить.

    Reply
  36. утюгчеловек

    (24)

    Какой смысл эмулировать действия пользователя…

    Идея не эмулировать, а «показать» (в данном случае в визуальном конструкторе) роботу действия пользователя, чтобы он делал то же самое

    …и при этом разводить у себя на работе зоопарк из программных продуктов и технологий?

    Платформы RPA возникают как раз там, где этот зоопарк уже есть, как способ заставить всё это работать в единой цепочке. Никто не говорит что это лучшее решение. Однако в противном случае можно годами ждать реализации например OCR в 1С.

    [IS-QUOTE]Логично ведь не лезть в пользовательский интерфейс и манипулировать данными напрямую при помощи языка 1С. [IS-QUOTE]

    Верно, но положим для одной задачи вы написали функцию отправки СМС. Если вы недостаточно ленивы, то для второй задачи в которой потребуется то же самое — вы вызовете вашу функцию в программном коде. А если вы достаточно ленивы вы заставите менеджера определять логику такой отправки, чтобы по возможности не писать код совсем.

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

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

    Reply
  37. blackhole321

    (34)Зачем некий дополнительный слой, если и так уже все модули/составные части написаны программистом? Тем более, если этим (RPA) будет и далее заниматься программист.

    Reply
  38. comol

    (35) Она конечно есть… Но пока не OpenSource.

    Reply
  39. comol

    (30)

    Ровно так.

    Вы путаете БЮДЖЕТ ПРОЕКТА — он уменьшается в случае RPA. И БЮДЖЕТ ВЛАДЕНИЯ — регулярные затраты на поддержку. Да, они увеличатся.

    Reply
  40. comol

    (33) Кто говорит об алгоритмах? :)))) Зачем они нужны? :))))

    Reply
  41. Petr54-ru

    (32)

    Ага… интегрируйтесь с SAP без разработчика SAP :))))) Тривиальная…

    Интегрируйтесь с ГОС системами куда нет доступа.

    Вспомните неприличный анекдот про поручика Ржевского — «если рот есть, значит..»

    Существуют открытые протоколы, иногда правда они денег стоят и продаются в составе SDK, иногда за это надо абонентскую плату платить, как например в Ростелекоме за пользование интерфесом интеграции из виртуальной АТС с CRM.

    Вот господа из уже мной упомянутого первого бита обещают бесшовную интеграцию по целому списку вендорских продуктов, в том числе и SAP.

    (32)

    В жирной компании

    А остальным что делать?

    Деньги копить, хотя у них скорее всего и не возникнет никогда таких проблем — от масштаба предприятия сильно зависит. Распознавание приходных накладных поставщиков — реальная задача для сети супермаркетов. Маленький магазинчик с ней никогда не столкнется.

    Reply
  42. comol

    (37) Ключевое слово «все». Нет, не все. И писать их в классической модели интеграции 5 систем будет 5 программистов. В случае RPA — один.

    Reply
  43. ktb

    (38) Я про: «Ну и если есть желающие поучаствовать — у проекта будет намного меньше шансов стать заброшенным».

    «Желающим» надо же с чего-то начинать.

    Reply
  44. Petr54-ru

    (42) Один 1С программист напишет. Это в самом деле тривиальная задача для нормального кодера.

    Даже книжечка про это есть. 350,00 руб в рознице стоит.

    Reply
  45. comol

    (40)

    Существуют открытые протоколы

    и сущестует служба безопасности которая закрывает все открытые протоколы :)))))

    (40)

    господа из уже мной упомянутого первого бита обещают

    вроде такой большой а в обещания франчей 1С всё ещё верите :)))

    Тем более первый БИТ ничего не разрабатывает в плане продукта, да и вряд ли когда нить разработает

    (40)

    Маленький магазинчик с ней никогда не столкнется

    Столкнётся и будет делать руками. Если не прочитает про решение выше 🙂

    Reply
  46. comol

    (44)

    Один 1С программист напишет. Это в самом деле тривиальная задача для нормального кодера

    Хорошо. Расскажите как нормальный 1С кодер загрузит данный из SAP имея только пользовательский доступ :).

    Следующим этапом — имея полный доступ но без ABAP-ера.

    И следующим этапом — с ABAP-ером :)))))))))))

    И SAP продвинутая система… далее я вас спрошу про Парус :). А потом спрошу про АИСФНУКНК или что-то в этом роде.

    Удачи вам с книжечкой :))))))))))))))

    Reply
  47. утюгчеловек

    Статья провоцирует энтузиазм, но в технологию влезать придется по локоть. И пока что крутить там нечего ИМХО.

    Нет и не будет готовых RPA решений. Всегда будут RPA-проекты, потому что у конечных пользователей разный зверинец программных продуктов, способных делать работу с утилитами/почтой/криптографией/OCR, разные API у развернутых сервисов, разные доменные политики по правам доступа и тд и тп, в итоге поставить на ноги две RPA с одной и той же функциональностью у двух разных клиентов это всегда два разных проекта со своей болью, рисками, историей…

    Reply
  48. Petr54-ru

    (45)

    и сущестует служба безопасности которая закрывает все открытые протоколы :)))))

    Серьезная система автоматизации бизнеса без зашитой внутрь технологии интеграции — так не бывает. Вопрос не в том, что можно или нельзя получить протоколы — а в том, бесплатны эти протоколы или придется за это отдельно платить, как например в упомянутом мной Ростелекоме.

    Reply
  49. comol

    (48)

    без зашитой внутрь технологии интеграции — так не бывает

    ну во всём мире уже бывает :))) RPA в тренде.

    Reply
  50. comol

    (47) RPA это в принципе про проекты. Но про правильные проекты… ИТ проект целью которого является сокращение FTE. RPA это скорее подход а не решение. Энтузиазм я хотел спровоцировать лишь в том что нефиг ждать/внедрять буржуйские RPA пытаясь их подружить с 1C…. А сделать свою нормальную

    Reply
  51. blackhole321

    (42) Ну я то задавал вопрос вот в этом контексте

    Кодить эту логику — это в чистом виде работа программиста, но если код функ.блоков уже написан — можно запихнуть это во фреймворк RPA, чтобы делать вот это всё, но в визуальном конструкторе.

    Если у вас ничего нет и есть RPA с соответствующими библиотеками и ваши системы не позволяют интегрироваться кроме как нажатием кнопок etc. — это один вопрос, а если у вас уже есть некие модули интеграции, написанные вами, то смысл их запихивать в rpa?

    Reply
  52. утюгчеловек

    (51)

    позволяют интегрироваться кроме как нажатием кнопок etc. — это один вопрос, а если у вас уже есть некие модули интеграции, написанные вами, то смысл их запихивать в rpa?

    У нас похоже разное понимание модуля. Как мне кажется вы подразумеваете что модуль это завершенная бизнес логика.

    Например «Отправить сообщение в телеграм, если остаток на счете С меньше Х» это бизнес-логика. Она состоит из модулей-команд роботу «Проверить остаток на счете» и «Отправить сообщение в телегу».

    В вашем случае код с бизнес логикой уже написан программистом — тогда rpa действительно не нужна.

    В моей системе отсчета программистом написаны только модули-команды, кода для бизнес-логики нет. Она конструируется (условно менеджером) в пользовательском режиме. Как и другие бизнес-задачи, вроде сортировки файлов по папкам на основе их содержания, и прочие рутинные задачи предусмотреть готовый код для которых для всех случаев невозможно.

    Вопрос о том что будет дешевле — обучить робота или заказать код 1Снику оставим за скобками))))

    Reply
  53. comol

    (51)

    а если у вас уже есть некие модули интеграции, написанные вами, то смысл их запихивать в rpa?

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

    Reply
  54. утюгчеловек

    (50) Больше RPA, богу RPA!

    Reply
  55. starik-2005

    (39)

    БЮДЖЕТ ПРОЕКТА — он уменьшается в случае RPA

    Тогда нужен пример, когда RPA сократили бюджет. Пока слова, которые я прочитал, выглядят некоторым образом иначе.

    Reply
  56. starik-2005

    (40)

    Распознавание приходных накладных поставщиков — реальная задача для сети супермаркетов.

    Сейчас, в век, когда космические корабли… уже 70%* накладных идут по Е-ДОК (в том или ином варианте реализации). Тенденция такая, что через год из-за всех этих ЕГАИС, ШУБАИС и просих АИС’ов данный момент дойдет до 100%.

    *по данным ВкусВилл’а…

    Reply
  57. starik-2005

    (45)

    вроде такой большой а в обещания франчей 1С всё ещё верите :)))

    Ровно так! ))) (запятую пропустили перед союзом «а» — и чему только в современных ВУЗах учат (!) )))

    Reply
  58. starik-2005

    (48)

    без зашитой внутрь технологии интеграции — так не бывает

    Серьезная система — это защищенная шина и ЕТЛ’ы для каждого интеграционного элемента.

    Reply
  59. starik-2005

    (52)

    что будет дешевле — обучить робота или заказать код 1Снику

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

    Reply
  60. comol

    (55) Ну если это не очевидно…. Уже всё давно на писано.

    http://www.comnews.ru/content/121524/2019-08-21/rpa-v-pomoshch

    https://www.it-world.ru/cionews/infrastructure/143831.html

    В цифрах оно действительно очень эффективно. А не в цифрах вопрос «интегрироваться с этой странной закрытой западной хренью, с ХЗ каким интерфейсом» теперь решается за полдня, а не превращается в проект на месяцы.

    Reply
  61. comol

    (58) А вот если этого нет, а систем зоопарк — на помощь приходит RPA :)))

    Reply
  62. blackhole321

    (42) Спасибо за подробный ответ!

    Reply
  63. comol

    (29) Директ банк это 10% банков… и оно просит SMS :)))

    Машинное обучение тут маст хэв, если бы этим занимались — поняли бы.

    Смысл в том что бухгалтер не всегда разносит выписку «как правильно» — иногда она разносится «как надо бухгалтеру»… потому что «тут так заведено». По другому кроме как отловив машинным обучением вы этого не получите. Собственно это уже все поняли и сделали. Вы просто опоздали с пониманием 🙂

    Reply
  64. starik-2005

    (63)

    Собственно это уже все поняли и сделали.

    А подробности уже есть?

    Reply
  65. Petr54-ru

    (58)

    это защищенная шина и ЕТЛ’ы для каждого интеграционного элемента.

    С точки зрения 1С программиста, дело до интеграционной шины данных может и не дойти. Мне в 2014 году пришлось интегрировать 1С конфигурацию ДАЛИОН Автобизнес с некой тяжелой учетной системой от Oracle. Я написал письмо с вопросами и отправил его линейному начальнику с просьбой переслать айтишнику. Дня через три мне пришел ответ, — забираем с ftp такие то текстовые файлы, формат файлов такой, грузим на ftp текстовые файлы такого то формата. Образцы файлов для отладки прилагаются. Все. Дня через три оно у меня заработало.

    Вся эта фигня не может быть сильно сложнее протокола от компании АТОЛ для обмена с Frontol 5.

    Reply
  66. oldcopy

    (63)

    Машинное обучение тут маст хэв, если бы этим занимались — поняли бы.

    Смысл в том что бухгалтер не всегда разносит выписку «как правильно» — иногда она разносится «как надо бухгалтеру»… потому что «тут так заведено». По другому кроме как отловив машинным обучением вы этого не получите. Собственно это уже все поняли и сделали. Вы просто опоздали с пониманием 🙂

    «Как надо бухгалтеру» — это как? В среду так, в четверг иначе, в зависимости от прошедшего дождика? Или кости бросает?

    Обычно всегда есть какие-то правила, именно потому «что так исторически сложилось». Скажем есть в базе контрагент Вася. Ну так завели его еще когда-то давно, это же Вася, кто его не знает? А сейчас этот Вася — это ИП Пупкин В.И. и ООО «Лабеан», следовательно платежки от них относим на Васю. А еще деньги могут прийти с ООО «Вектор» и если в платежке написано «за дрова» — то тоже относим на Васю, нет — кидаем на сам Вектор.

    Практически все эти «как надо бухгалтеру» отлично формализуются и описываются обычным кодом. Можно даже сделать юзерфрендли, добавить пользовательские настройки типа: плательщик — основание платежа — контрагент. Ничего сложного и никаких роботов и машинного обучения.

    А выпадающие их формальной системы случаи тем более никаким машинным обучением не победить. Ну позвонил Вася и сказал, сделайте счет на дрова на ООО «Альфа», дрова отпишите на меня. Как система машинного обучения поймет, что деньги от Альфы разнести на Васю? А если Альфа продолжить работать с Васей по этой схеме, то никакого машинного обучения и даром не надо. Бухгалтер просто внесет настройку «ООО Альфа — за дрова — Вася» и все дела.

    Reply
  67. Petr54-ru

    (46)

    Хорошо. Расскажите как нормальный 1С кодер загрузит данный из SAP имея только пользовательский доступ :).

    Следующим этапом — имея полный доступ но без ABAP-ера.

    И следующим этапом — с ABAP-ером :)))))))))))

    И SAP продвинутая система… далее я вас спрошу про Парус :). А потом спрошу про АИСФНУКНК или что-то в этом роде.

    Удачи вам с книжечкой :))))))))))))))

    1С программисту нафик не нужен будет ни пользовательский доступ в SAP, ни админский. Ему нужен будет только протокол обмена. А SAP не может в воздухе висеть, где такого рода тяжелые решения, там и саппорт их обитает. Все что нужно, это обратиться к этому саппорту, через ответственного на стороне заказчика и задать ему правильные вопросы. Я уже тут в каментах описывал подобную ситуацию

    (65)

    С точки зрения 1С программиста, дело до интеграционной шины данных может и не дойти. Мне в 2014 году пришлось интегрировать 1С конфигурацию ДАЛИОН Автобизнес с некой тяжелой учетной системой от Oracle. Я написал письмо с вопросами и отправил его линейному начальнику с просьбой переслать айтишнику. Дня через три мне пришел ответ, — забираем с ftp такие то текстовые файлы, формат файлов такой, грузим на ftp текстовые файлы такого то формата. Образцы файлов для отладки прилагаются. Все. Дня через три оно у меня заработало.

    Вся эта фигня не может быть сильно сложнее протокола от компании АТОЛ для обмена с Frontol 5.

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

    Еще раз повторюсь. Ничего сложного в интеграции любого рожна с 1С нет. Это тупая техническая работа. При этом в 1С полно работ, связанных с немалым риском для исполнителя, интеграция к ним слава богу не относится.

    Reply
  68. acanta

    У 1с 8 есть по умолчанию только один протокол обмена — это РИБ. И в целом для программиста си или сишарпа нет ничего нового в структуре файлов обмена для РИБ.

    Это кошерный обмен данными?

    Reply
  69. oldcopy

    (68)

    У 1с 8 есть по умолчанию только один протокол обмена — это РИБ.

    Это с какого перепуга? Вариантов обмена данными великое множество и РИБ — это только один из доступных вариантов.

    (68)

    И в целом для программиста си или сишарпа нет ничего нового в структуре файлов обмена для РИБ.

    Вообще то там XML, самый обычный.

    (68)

    Это кошерный обмен данными?

    А что в нем некошерного?

    Reply
  70. Snitkovski

    (13) Олег, тоже очень интересно видео посмотреть — можно в личку прислать?

    Reply
  71. comol

    (70) да я тут подумал, что я парюсь… https://youtu.be/I9MIGbZw-Yo видео только про продукт/проект а не про RPA вцелом

    Reply
  72. sttt

    (47) «Нет и не будет готовых RPA решений» — есть и набирает обороты, сам лично делал и это работает.

    «два разных проекта — боль» — это временно

    Reply
  73. comol

    (72) ну ка какое решение? Которое само анализирует работу пользователя, выявляет из неё рутину и заменяет роботом? :)))))))) без участия аналитика? Ну ка покажите? :))) По моему появился лауреат на нобелевскую премию.

    Reply
  74. sttt

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

    Операции очень простые, такое легко «роботизировать». Такой ёмкий процесс, как распознавание документов, находится и заменяется простым процессом, понятный «роботу» — например ЭДО ;0)))

    Как-то так

    Reply
  75. sttt

    (73) там где нет возможности использовать программный робот, используется механический

    Reply
  76. comol

    (74) «А в песне не понял ты увы ни…чего». Замену распознавания сканов на ЭДО ну никак нельзя назвать роботизацией. И эта замена не делается «за час»… Для чего собственно RPA появился.

    Reply
  77. sttt

    (76) ну почему? Представь, что документ в ЭДО сбрасывает программный робот, на основании механических датчиков и другая сторона принимает в своей начальной точке, если конечно конфигурация начальной точки позволяет принимать такие термины документа

    Reply
  78. sttt

    (77) чем не распознавание?)

    И ресурсов тратиться меньше

    Reply
  79. comol

    (75) аа… Наверное имеется ввиду «биоробот»? :))))

    Reply
  80. comol

    (77) конечно, ещё звонит контрагенту и просит его подключиться к ЭДО :)))

    Reply
  81. sttt

    (80) такое тоже наверное уже есть. Система делает запрос контактных данных, получив набирает номер и робот по сценарию обговаривает договоренность, предоставляя меню в процессе диалога, если — это человек, но думаю все же будет робот на другом конце) проще и быстрее наладить «деловые связи»

    Reply
  82. comol

    (81) потом перезванивает, спрашивает идентификатор и т.п. Всё это без участия человека. Вы правда это сделали? Ссылку срочно. Робот который заставит контрагента перейти на ЭДО, а потом ещё подключит нужен. Прямо поверю что есть RPA решения если оно у вас так работает

    Reply
  83. sttt

    (79) нет, например более примитивная версия https://m.habr.com/ru/company/top3dshop/blog/373649/

    Reply
  84. sttt

    (82) ну да — это наверно вы про тех кто на бумаге от руки оформляет документы по сей день, я же про обычную компанию, где люди оформляют руками электронные документы, некоторым больше повезло, есть ТСД, а у кого-то наступило будущее, типа Амазон и машины оформляют документ. Есть наверно кадры, которые и на бумаге едва, что могут, только копьями махать))

    Reply
  85. comol

    (84) я про всех. В этом и смысл RPA решений. А вам надо просто ещё матчасть почитать

    Reply
  86. comol

    (83) как все запущено 🙁

    Reply
  87. sttt

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

    » вам надо просто ещё матчасть почитать » — Думаю вам кругозор расширить и тогда научитесь видить решение, а не проблему. Вы зациклены на одном процессе, его постоянной модификацией под конкретное лицо (это не значит, что вы плохой специалист), но не получается принять решение наладить диалог с аборигеном чтобы решить проблему

    Reply
  88. sttt

    (86) почему?))) Можете посмотреть ролик про внедрение роботов на Амазон. Очень круто. Там прям центр управления полетами)))

    Reply
  89. TODD22

    (88)

    Можете посмотреть ролик про внедрение роботов на Амазон. Очень круто. Там прям центр управления полетами)))

    То что могут позволить себе Гугл или Амазон не может позволить ООО «ШавермаИндастриз»

    Reply
  90. comol

    (88) там о другом с тем же названием… Вам просто тяжело объяснить

    Reply
  91. comol

    (87) удачи, налаживайте диалог с аборигенами. А я пока побуду плохим специалистом и буду как нибудь людям помогать их задачи решать 🙂

    Reply
  92. sttt

    (91) они просто не знают, что есть дешевле способ и маленькое количество документов совсем бесплатно:

    https://yandex.ru/turbo?text=https%3A%2F%2Fjournal.tinkoff.ru%2Fe-doc%2F

    Reply
  93. sttt
  94. comol

    (92) То ли вы Диадок раскручиваете, то ли прикидываетесь вообще ничего не понимающим о чём речь, то ли и правда статью не читали я уж не знаю….

    Если я скажу что для нормального использования Диадок RPA тоже нужно вам полегчает? 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *