Actions. Часть 2 - Заведение приходной накладной

Данный пример робота является второй частью проекта, который демонстрирует работу с Действиями в Оркестраторе (первая часть здесь) и демонстрирует работу с Действиями в Оркестраторе, как это выглядит на стороне Оркестратора можно посмотреть здесь. На этом этапе робот получает задачу из очереди ($QueueGuid) с тегом "1CModified" ($TaskTag).

Данный тег появляется у задачи после сохранения формы сохранить Действия в Оркестраторе. Итогом работы данного робота будут проверены и, при необходимости, исправленные данные “Приходной накладной” после ее распознавания из pdf-файла.

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

Вторая часть проекта робота состоит из двух диаграмм.

Таким образом, если описывать пошагово, то данный робот работает следующим образом:

  1. Получает из указанной очереди задачу, добавленную в нее на предыдущем этапе проекта.

  2. Меняет статус полученной задачи на “В процессе”.

  3. Запускает диаграмму “ДобавлениеНакладной”.

  4. После выполнения сценария добавления накладной, меняет статус выполненной задачи на “Успешно”.

Основная диаграмма проекта выглядит так (для удобства блоки диаграммы пронумерованы):

  1. Блок “Старт” (с этого блока начинается любая диаграмма).

  2. Блок “Получить задачу из очереди” получает задачу из указанной очереди. Для данного блока указаны следующие свойства:

  • GUID/Имя очереди (GUID очереди в Оркестраторе, из которой необходимо получить задачу);

  • Статус задачи (фильтр задачи по статусу);

  • Приоритет задачи (фильтр по приоритету задачи);

  • Фильтр по тегам (фильтр по тегам);

  • Перезаписывать объект параметров;

  • Ошибка при отсутствии задач.

На выходе получены следующие свойства:

  • GUID задачи (возвращает GUID задачи); Название (возвращает название задачи);

  • Параметры (возвращает параметры задачи);

  • Объект задачи.

  1. Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае в свойствах указаны три значения, которые необходимо присвоить переменным: значение ячеек “Товары” , “Поставщик” и “Заказ”. Переменным 1, 2 и 3 присваиваются Значения 1, 2 и 3 соответственно.

  1. Блок “Изменить задачу” позволяет изменить статус задачи с текущего на статус “В процессе” (In Progress). Для данного блока указаны следующие свойства:

  • GUID/Имя задачи (GUID задачи, статус которой необходимо изменить);

  • Статус (статус задачи, который необходимо присвоить задаче).

  1. Блок “Процесс” позволяет создавать сценарии, состоящие из нескольких диаграмм. Выполнение сценария продолжится с блока “Старт” указанной диаграммы проекта. Выполнение сценария вернется к текущему блоку и продолжится в текущей диаграмме, как только будет достигнут блок “Конец” во внешней диаграмме. Для блока “Процесс” указано свойство “Имя диаграммы” (имя файла диаграммы, в которой продолжится выполнение сценария).

  1. Блок “Изменить задачу” позволяет изменить статус с текущего на статус “Успешно” (Success). Для данного блока указаны следующие свойства:

  • GUID/Имя задачи (GUID задачи, статус которой необходимо изменить);

  • Статус (статус задачи, который необходимо присвоить задаче).

  1. Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).

Диаграмма "ДобавлениеНакладной"

После извлечения данных из pdf-файла на первом этапе проекта робот создает накладную. Данная диаграмма создана частично с помощью функции “Запись” Sherpa Designer. Подробнее о ней здесь.

Рассмотрим подробнее блоки данной диаграммы (для удобства блоки пронумерованы):

  1. Блок “Старт” (с этого блока начинается любая диаграмма).

  2. Блок “Лог” позволяет выводить в лог произвольные сообщения и/или значения переменных в процессе работы сценария робота. Для данного блока указано свойство “Значение” и уровень сообщения при отправке лога в Оркестратор. Здесь данный блок записывает в лог робота сообщение “Создаем номенклатуру”.

  1. Блоки “Проверить наличие элемента” (проверяет наличие заданного элемента пользовательского интерфейса на экране), “Клик мышкой” (производит клик по заданному элементу приложения), “Нажать клавиши” (эмулирует нажатие клавиш на клавиатуре) и “[ENTER]” (эмулирует нажатие клавиши “Enter” на клавиатуре) добавлены в диаграмму с помощью функции “Запись”. Каждый из блоков использует селектор. Подробнее о работе с селекторами здесь.

  2. Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае в свойствах указаны одно значение, которое необходимо присвоить конкретной переменной.

  1. Блок “Цикл для каждого (Таблица Данных)” циклично перебирает все строки таблицы данных.

  1. Блок “Клик мышкой” (производит клик по заданному элементу приложения) добавлен в диаграмму с помощью функции “Запись”.

  2. Блок “Пауза” приостанавливает выполнение работы сценария на заданное время. Для данного блока указаны следующие свойства:

  • Единица измерения (единица измерения, в которой задана длительность паузы);

  • Длительность ( количество секунд, на которое будет приостановлена работа сценария).

  1. Блоки “Клик мышкой” (производит клик по заданному элементу приложения), “Нажать клавиши” (эмулирует нажатие клавиш на клавиатуре) и “[ENTER]” (эмулирует нажатие клавиши “Enter” на клавиатуре) добавлены в диаграмму с помощью функции “Запись”. Каждый из блоков использует селектор.

  2. Блок “Выполнить выражение” запускает выполнение одного или нескольких выражений на языке, совместимом с PowerShell. В данном случае используется одно выражение.

  1. Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).

Last updated