Переходите на новый сайт Базы знаний. Актуализация контента происходит теперь там.

Шаблон проекта
При создании нового проекта возможно выбирать шаблон проекта, который уже содержит готовую для использования и наполнения структуру проекта, учитывающую лучшие паттерны проектирования и практики разработки роботов (U).

    Пока внедрен один шаблон проекта – «Универсальный шаблон».

    В будущем встроенные в PIX Studio шаблоны пополнятся специализированными шаблонами, а также появится возможность создавать собственные шаблоны и скачивать из маркетплейса и PIX Master дополнительные шаблоны.

      Универсальный шаблон — это шаблон проекта, предназначенный для обработки элементов очереди данных PIX Master, основанный на механизме конечного автомата (State Machine) и включающий в свою структуру методы для получения данных, обработки исключений, инициализации приложений, механизма мягкой остановки, операций логирования и т.д., скомпонованные в контейнеры.

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

      Для создания проекта из шаблона проекта необходимо выбрать его в окне создания проекта (U).

      Шаблон проекта уже содержит готовую для использования и наполнения структуру проекта, учитывающую лучшие паттерны проектирования и практики разработки роботов.

      Ниже описаны блоки и скрипты шаблона проекта – их функции, структура и связи.

      1. Инициализация (блок [INIT]): контейнер используется для инициализации файла конфигурации и всех других приложений, к которым осуществляется доступ в проекте. В случае ошибки (системное исключение) поток перейдет в состояние Завершение процесса [END], а в случае успешной инициализации поток перейдет в состояние Получение элемента очереди [GET].

      Скрипты (.pix), использующиеся в блоке [INIT]:

      • ReadConfig.pix - этот скрипт инициализирует и формирует переменную конфигурации проекта (тип Dictionary <string, object>), данные которой будут использоваться в скриптах проекта. Источником данных является файл Config.xlsx, хранящийся в папке Проект\Data:
      1. Листы [Settings] и [Constants] содержат данные с настройками, константами.
      2. Лист[Assets] – список ресурсов, которые при выполнении скрипта получаются из PIX Master «Данные» по соответствующим заранее заполненным ключам.

      • KillApplications.pix - этот скрипт используется для завершения работы фоновых или активных приложений/программ, чтобы работа робота стартовала в чистой среде – без помех выполнения, связанных с попытками повторного открытия уже запущенных приложений.
      ВАЖНО! Рекомендуется завершать работу программ их нормальным закрытием, а не аварийной остановкой процессов, которая может быть причиной ошибочного поведения при повторном запуске.
      InitApplications.pix - этот скрипт предназначен для открытия/запуска приложений или процессов, которые используются в проекте (например, «Открыть приложение», «Открыть браузер», перейти на сайт по URL-адресу, указанному в файле конфигурации).

      Для окончания работы робота - переход в блок Завершение процесса [END] - при возникновении системной ошибки после завершения работы блока [INIT] реализована проверка SystemException, используя активность «Условный оператор».

      2. Получение элемента очереди (блок [GET]) - контейнер предназначен для извлечения элементов очереди данных PIX Master и организации их дальнейшей обработки.

      При отсутствии данных для обработки (не получен элемент очереди) - осуществляется переход в состояние Завершение процесса [END], иначе - в блок Обработка элемента очереди [PROCESS] для продолжения выполнения.

      Дополнительно, в начале блока – происходит проверка наличия сигнала «мягкой остановки», устанавливаемого в PIX Master (см. статью "Мягкая остановка" в базе знаний PIX RPA).

      * В ранних версиях шаблона была использована неактуальная сейчас логика использования механизма остановки робота, предполагающая ввод и хранение статуса остановки в «Данные» PIX Master. В этом случае управление остановкой происходило не из стандартных сейчас контролов раздела «Задачи», а с помощью ручного изменения значения параметра в «Данных».

      В блоке [GET] находится скрипт:

      • GetTransactionItem.pix, который получает элемент (для его последующей обработки) из PIX Master, брокеров сообщений, баз данных, почтовых клиентов и т.д. типичным для универсального шаблона использовать получение данных из Очередей данных PIX Master. Если элементы для обработки отсутствуют, поток управления передается в блок Завершение процесса [END].
      ВАЖНО! По умолчанию источником элементов для дальнейшей обработки являются очереди данных PIX Master.
      Если в конкретном проекте очереди данных не используются, в скрипте GetTransactionItem.pix необходимо заменить активность PIX Master - Очереди - "Обработать элемент из очереди" на другую подходящую. Например, для получения данных из брокера сообщений RabbitMQ возможно использовать активность HTTP - "Отправить HTTP запрос".
      3. Обработка элемента очереди (блок [PROCESS]) - в этом блоке выполняется обработка полученного элемента.
      Типичным результатом обработки является формирование записей в учетных системах, файлах с отчетами, документами и т.п.

      Для обработки элемента определяется и сохраняется статус:
      • Processed – успешная обработка элемента;
      • Failed с System Exception (Тип ошибки = «Technical» в Master) – при обработке элемента получена системная ошибка, связанная с технической проблемой, например - если приложение не доступно / не отвечает. Такие проблемы можно попробовать решить, предусмотрев повторные попытки обработки элемента (retry), поскольку приложение может стать доступно.
      • Failed с Business Exception (Тип ошибки = «Business» в Master) – при обработке элемента получена бизнес-ошибка, связанная с тем, что данные, от которых зависит выполнение проекта, являются некорректными, неполными или отсутствуют. В этом случае повторная попытка обработки элемента не даст результатов и необходимо предусмотреть логирование ошибки для последующего уведомления сотрудника-участника бизнес-процесса.
        В случае наличия системного исключения выполнения проекта перейдет в блок Инициализация [INIT].

        В случае бизнес-исключения элемент пропускается и проект переходит в блок Получение элемента очереди [GET] для получения следующего элемента.

        В случае успешной обработки элемента проект перейдет в блок Получение элемента очереди [GET], для получения следующего элемента.

        В блоке [PROCESS] используются следующие скрипты (.pix):
        • ProcessTransactionItem.pix - этот скрипт производит целевую обработку элемента. В этот скрипт пользователь может добавить несколько рабочих скриптов, связанных между собой одним бизнес-процессом. В этом скрипте находится основная часть логики всего выполняемого проекта, обрабатывающая каждый получаемый элемента.
        • SetTransactionStatus.pix - в этом скрипте происходит определение статуса обработки элемента и сохранение информации об ошибках, которые возникли при обработке элемента. При возникновении системной ошибки из скрипта SetTransactionStatus.pix происходит вызов скрипта:
        1. TakeScreenshot.pix для сохранения снимка экрана (область определяется по XPath), в определеной пользователем директории.
            4. Завершение процесса (блок [END]): это финальный блок «Универсального шаблона», при котором все используемые приложения закрываются, а проект останавливается.

            Ниже представлен скрипты (.pix) в блоке [END]:
            • CloseAllApplications.pix - этот скрипт завершается и закрывает все приложения, которые были инициализированы в начале процесса.
            • KillApplications.pix - см. описание в блоке [INIT].

            Все скрипты в рассмотренных блоках помещаются в папку Framework проекта (F).


            Структура - блоки|скрипты и процесс - связи и управляющие условия:

            Приложение
            Особенности Шаблона проекта PIX RPA по сравнению с ReFramework в UiPath

            Так как «Универсальный шаблон» PIX напрямую соотносится со структурой ReFramework UiPath, пользователям перешедшим на PIX, стоит учитывать следующие особенности при использовании:
            • Работа с переменными - в UiPath ввод переменных осуществляется через отдельную панель «Переменные». В PIX RPA ввод переменных осуществляется по ходу выполнения робота (через Out-свойства шагов). Поэтому переменные, объявленные в определенной области UiPath являются отдельными шагами «Присвоить значение»;
            • Общее построение шаблона - В PIX отсутствует возможность описания скрипта в виде Flowchart, как это сделано в UIPath. Для реализации логики Flowchart с большим количеством ветвлений и повторяющихся переходов (Transitions) к одному и тому же блоку в PIX используется шаг явного перехода выполнения робота на шаг используя активность «Перейти на шаг» (доступна с релиза 2.8) (аналог оператора GoTo).
            • Работа со state - Основные стейты UIPath организованы в PIX в виде 4 контейнера. Внутри этих контейнеров содержится логика тела того или иного state. Между основными контейнерами выстроена логика условных операторов, которые принимая на выход значение контрольного параметра от которых зависит переход (или нет) между различными контейнерами (логика условий по Transition). В переходе на шаг указывает контейнер (используя ID шага), на который переходит выполнение

            Логика перехода в UiPath

            Логика перехода в PIX
            Дополнительно можно скачать презентацию "Шаблоны проекта".