Actions. Часть 2 - Заведение приходной накладной#
Данный пример робота является второй частью проекта, который демонстрирует работу с Действиями в Оркестраторе (первая часть здесь) и демонстрирует работу с Действиями в Оркестраторе, как это выглядит на стороне Оркестратора можно посмотреть здесь. На этом этапе робот получает задачу из очереди ($QueueGuid) с тегом "1CModified" ($TaskTag).
Данный тег появляется у задачи после сохранения формы сохранить Действия в Оркестраторе. Итогом работы данного робота будут проверены и, при необходимости, исправленные данные “Приходной накладной” после ее распознавания из pdf-файла.
После получения задачи происходит внесение данных в уже открытую 1С "Управление небольшой фирмой учебная (демо)".
Вторая часть проекта робота состоит из двух диаграмм.
Таким образом, если описывать пошагово, то данный робот работает следующим образом:
- Получает из указанной очереди задачу, добавленную в нее на предыдущем этапе проекта.
- Меняет статус полученной задачи на “В процессе”.
- Запускает диаграмму “ДобавлениеНакладной”.
- После выполнения сценария добавления накладной, меняет статус выполненной задачи на “Успешно”.
Основная диаграмма проекта выглядит так (для удобства блоки диаграммы пронумерованы):
- Блок “Старт” (с этого блока начинается любая диаграмма).
- Блок “Получить задачу из очереди” получает задачу из указанной очереди. Для данного блока указаны следующие свойства:
- GUID/Имя очереди (GUID очереди в Оркестраторе, из которой необходимо получить задачу);
- Статус задачи (фильтр задачи по статусу);
- Приоритет задачи (фильтр по приоритету задачи);
- Фильтр по тегам (фильтр по тегам);
- Перезаписывать объект параметров;
- Ошибка при отсутствии задач.
На выходе получены следующие свойства:
- GUID задачи (возвращает GUID задачи);
Название (возвращает название задачи); - Параметры (возвращает параметры задачи);
- Объект задачи.
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае в свойствах указаны три значения, которые необходимо присвоить переменным: значение ячеек “Товары” , “Поставщик” и “Заказ”. Переменным 1, 2 и 3 присваиваются Значения 1, 2 и 3 соответственно.
- Блок “Изменить задачу” позволяет изменить статус задачи с текущего на статус “В процессе” (In Progress). Для данного блока указаны следующие свойства:
- GUID/Имя задачи (GUID задачи, статус которой необходимо изменить);
- Статус (статус задачи, который необходимо присвоить задаче).
- Блок “Процесс” позволяет создавать сценарии, состоящие из нескольких диаграмм. Выполнение сценария продолжится с блока “Старт” указанной диаграммы проекта. Выполнение сценария вернется к текущему блоку и продолжится в текущей диаграмме, как только будет достигнут блок “Конец” во внешней диаграмме. Для блока “Процесс” указано свойство “Имя диаграммы” (имя файла диаграммы, в которой продолжится выполнение сценария).
- Блок “Изменить задачу” позволяет изменить статус с текущего на статус “Успешно” (Success). Для данного блока указаны следующие свойства:
- GUID/Имя задачи (GUID задачи, статус которой необходимо изменить);
- Статус (статус задачи, который необходимо присвоить задаче).
- Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).
Диаграмма "ДобавлениеНакладной"
После извлечения данных из pdf-файла на первом этапе проекта робот создает накладную. Данная диаграмма создана частично с помощью функции “Запись” Sherpa Designer. Подробнее о ней здесь.
Рассмотрим подробнее блоки данной диаграммы (для удобства блоки пронумерованы):
- Блок “Старт” (с этого блока начинается любая диаграмма).
- Блок “Лог” позволяет выводить в лог произвольные сообщения и/или значения переменных в процессе работы сценария робота. Для данного блока указано свойство “Значение” и уровень сообщения при отправке лога в Оркестратор. Здесь данный блок записывает в лог робота сообщение “Создаем номенклатуру”.
- Блоки “Проверить наличие элемента” (проверяет наличие заданного элемента пользовательского интерфейса на экране), “Клик мышкой” (производит клик по заданному элементу приложения), “Нажать клавиши” (эмулирует нажатие клавиш на клавиатуре) и “[ENTER]” (эмулирует нажатие клавиши “Enter” на клавиатуре) добавлены в диаграмму с помощью функции “Запись”. Каждый из блоков использует селектор. Подробнее о работе с селекторами здесь.
- Блок “Присвоить значение переменной” устанавливает новые значения для одной или нескольких переменных. В данном случае в свойствах указаны одно значение, которое необходимо присвоить конкретной переменной.
- Блок “Цикл для каждого (Таблица Данных)” циклично перебирает все строки таблицы данных.
- Блок “Клик мышкой” (производит клик по заданному элементу приложения) добавлен в диаграмму с помощью функции “Запись”.
- Блок “Пауза” приостанавливает выполнение работы сценария на заданное время. Для данного блока указаны следующие свойства:
- Единица измерения (единица измерения, в которой задана длительность паузы);
- Длительность ( количество секунд, на которое будет приостановлена работа сценария).
- Блоки “Клик мышкой” (производит клик по заданному элементу приложения), “Нажать клавиши” (эмулирует нажатие клавиш на клавиатуре) и “[ENTER]” (эмулирует нажатие клавиши “Enter” на клавиатуре) добавлены в диаграмму с помощью функции “Запись”. Каждый из блоков использует селектор.
- Блок “Выполнить выражение” запускает выполнение одного или нескольких выражений на языке, совместимом с PowerShell. В данном случае используется одно выражение.
- Блок “Конец” (этим блоком завершается работа сценария или возврат диаграммы подпроцесса в основной процесс).