Найти в Дзене
Кирилл Ледовский

Создание пользовательских блоков Puzzle RPA— Ваша «мастерская» по созданию уникальных деталей для конструктора

Вопрос от пользователя (Ведущий специалист отдела IT-автоматизации Сергей): «Наша команда создала универсальный алгоритм проверки ЭЦП для документов. Он состоит из 15 стандартных блоков. Теперь каждый коллега, которому это нужно, копирует эту связку. Как сделать из неё одну готовую «деталь», чтобы все могли брать её как новый блок и не собирать заново?» Суть проблемы: При разработке роботов часто возникают типовые, повторяющиеся логические цепочки (например, «авторизация в корпоративном портале», «проверка цифровой подписи», «парсинг определенного типа накладной»). Каждый раз собирать их из десятков базовых блоков — неэффективно, увеличивает размер проекта и риск ошибок при копировании. Нужен способ упаковать сложную логику в один понятный, переиспользуемый блок с собственным названием и иконкой. Что такое «Пользовательский блок»?
Представьте, что стандартные блоки Puzzle RPA — это стандартные заводские детали (винты, шестерни, панели). Создание пользовательского блока — это возможност

Вопрос от пользователя (Ведущий специалист отдела IT-автоматизации Сергей): «Наша команда создала универсальный алгоритм проверки ЭЦП для документов. Он состоит из 15 стандартных блоков. Теперь каждый коллега, которому это нужно, копирует эту связку. Как сделать из неё одну готовую «деталь», чтобы все могли брать её как новый блок и не собирать заново?»

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

Что такое «Пользовательский блок»?
Представьте, что стандартные блоки Puzzle RPA — это
стандартные заводские детали (винты, шестерни, панели). Создание пользовательского блока — это возможность в своей домашней мастерской спроектировать и собрать из этих деталей уникальный узел или механизм (например, «редуктор» или «держатель датчика»), а затем добавить его в свой набор инструментов. Этот новый блок:

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

Как это работает простыми словами (ключевые шаги):

  1. Готовите «чертеж» (файлы). Вам нужно создать папку с несколькими специальными файлами, которые описывают:
    Как блок выглядит (название, цвет, поля для ввода) – файл block.json.
    Что он делает (сам код на Python) – файлы code.py или src/__init__.py.
    Как он подключается (настройки и зависимости) – файлы meta.json, libs.py.json.
  2. «Устанавливаете» свою деталь. Эту папку вы загружаете в Puzzle RPA через Настройки -> Расширения, ровно так же, как и любое другое расширение.
  3. Используете в проектах. После перезагрузки ваш собственный блок появится в выбранной категории. Теперь вы и ваши коллеги можете перетаскивать его, настраивать через его параметры и использовать как родной.

Решение и рекомендации:

  • Начните с простого. Первый блок может просто умножать число на два или показывать сообщение с заданным текстом. Это поможет понять принцип.
  • Используйте шаблоны. Разработчики Puzzle RPA предоставляют примеры и минимальные шаблоны файлов. Начните с них.
  • Делитесь внутри команды. Создали полезный блок — упакуйте его в папку и передайте коллегам. Они установят его себе и смогут использовать.
  • Поручайте разработку IT-специалистам. Создание сложных блоков с внешними библиотеками — задача для программистов. Ваша же роль — поставить задачу: «Мне нужен блок, который делает вот это».

Итог простыми словами:
Создание пользовательских блоков — это высший пилотаж в Puzzle RPA, доступный для продвинутых пользователей или IT-отдела. Это не просто автоматизация задачи, а автоматизация самого процесса создания автоматизаций. Вы создаете не робота, а новый инструмент для конструктора. Если стандартные блоки — это молоток и пила, то создав пользовательский блок, вы делаете специальный штамп или шаблон, который в десятки раз ускоряет сборку типовых изделий в вашей компании.

Типичные сценарии создания пользовательских блоков:

Сценарий 1: Фирменный блок «Подключиться к корпоративной 1С» для всех отделов.

  • Ситуация: В компании жёсткие требования безопасности. Подключение робота к 1С требует сложной последовательности: выбор конкретной базы, ввод специального логина робота, обход двухфакторной аутентификации по сертификату.
  • Проблема: Каждый разработчик робота тратит день на настройку этого подключения и может ошибиться, создав уязвимость.
  • Решение:
    IT-архитектор создаёт пользовательский блок «Безопасное подключение к 1С».
    Внутри блока инкапсулирована вся сложная логика. Для пользователя остаются только три поля: «Название базы», «Сертификат», «Ключ».
    Блок распространяется среди всех разработчиков RPA в компании как стандартное расширение.
  • Результат: Подключение к 1С стало безопасным, стандартным и занимает 2 минуты. Риск ошибок безопасности сведён к нулю.

Сценарий 2: Блок «Распознать наш тип счёта» для бухгалтерии.

  • Ситуация: Бухгалтерия автоматизирует ввод платежек. Входящие PDF-счета от сотен контрагентов имеют разный формат, но ключевые данные (ИНН, номер счета, сумма) всегда в одном стиле.
  • Проблема: Алгоритм распознавания с использованием блоков «OCR» и парсинга текста занимает 30 блоков. Его неудобно копировать.
  • Решение:
    Специалист по автоматизации упаковывает всю цепочку из 30 блоков в один пользовательский блок «Извлечь данные из счёта».
    На входе блок принимает путь к PDF-файлу. На выходе выдаёт готовый словарь с полями: ИНН, Счёт, Сумма.
    Бухгалтеры, создающие роботов, теперь просто используют этот один блок вместо целого вороха непонятных им технических блоков.
  • Результат: Роботы создаются бухгалтерами быстрее. Логика распознавания централизована: её улучшил один раз специалист — улучшения получили сразу все роботы.

Сценарий 3: Блок «Сформировать задание для ТСД» для отдела логистики.

  • Ситуация: Логисты создают роботов, которые готовят файлы заданий для терминалов сборщиков (ТСД). Формат файла специфический (бинарный, со служебными заголовками).
  • Проблема: Работа с бинарными файлами требует сложных операций с байтами, которые выходят за рамки компетенции логистов.
  • Решение:
    Разработчик из IT пишет код на Python, который формирует корректный бинарный файл. Этот код становится ядром пользовательского блока «Экспорт задания в ТСД».
    Блоку настраивают простой интерфейс: таблица с товарами (артикул, количество) и путь для сохранения файла.
    Логисты получают готовый инструмент, скрывающий от них всю техническую сложность.
  • Результат: Отдел логистики становится самостоятельным в создании сложных автоматизаций. IT-отдел освобождается от рутинных запросов на формирование файлов.