Ресурсы позволяют хранить в проекте и роботе данные, к которым робот сможет обращаться во время выполнения. Использование ресурсов позволяет упростить разработку робота, например, если какие-то данные указываются в действиях несколько раз.

Ресурсы разбиты на три вкладки:

  • Переменные – строковые, числовые и комбинированные значения, а также коллекции (массивы), словари и таблицы;
  • Элементы – объекты, которые содержат информацию об элементах веб-страницы или графического интерфейса системы;
  • Файлы – изображения и документы. Обычно сюда загружают изображения, которые используются для сравнения или поиска элементов на экране, и шаблоны документов.

Каждая вкладка содержит:

  • поле поиска – система фильтрует список по совпадению названия ресурса с указанной фразой;
  • кнопку фильтра:
    • Переменные – включает фильтр по типу и по свойству «Отслеживать при отладке» (подробнее читайте в разделе «Переменная»);
    • Элементы – включает фильтр по типу;
  • кнопку создания ресурса – по нажатии открывается форма создания нового ресурса, тип зависит от вкладки;
  • список ресурсов, представленных в виде карточек. Подробнее читайте в разделе «Представление карточки ресурса».

Представление карточки ресурса

Переменные

  1. Индикатор типа переменной.
  2. Название переменной.
  3. Индикаторы свойств (подробнее читайте в разделе «Переменная») и функциональные кнопки:
    • кнопка «Редактировать» – открывает форму редактирования ресурса;
    • кнопка «Удалить» – удаляет ресурс из списка и из параметров действий.
  4. Поле указания значения – подробнее читайте в разделе «Редактирование значения переменной».
  5. Кнопка открытия формы редактирования значения – подробнее читайте в разделе «Редактирование значения переменной».

Элементы

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

Файлы

Под названием ресурса отображается иконка типа файла и его название. Если кликнуть по названию файла, он скачается.

Создание и редактирование ресурса

Для создания ресурса нажмите кнопку «Новая переменная», «Новый элемент» или «Новый файл». В открывшейся форме укажите название и следуйте описанию ниже.

Учтите, что название ресурса должно быть уникальным. Вы не сможете создать второй ресурс с существующим названием.

Переменная

Выберите тип и заполните форму указания значения (значение можно оставить пустым).

Свойства переменной:

  • Отслеживать значение – активирует функцию отслеживания значения переменной. Значение отображается для просмотра, когда выполнение робота приостановлено.
  • Входной параметр – переменная выполняет функцию входного параметра робота. Значение переменной может быть задано при запуске робота на выполнение.
  • Выходной параметр – переменная выполняет функцию выходного параметра робота. Значение переменной может быть получено после завершения выполнения робота.

Элемент

Выберите тип, заполните и выберите свойство, по которому будет производиться поиск элемента.

Вы можете указать элемент прямо в окне браузера или в системе, используя инструменты:

  • Web-шпион – плагин, позволяющий указать элемент для взаимодействия прямо в окне браузера. Инструкция по установке и использованию шпиона содержится в форме создания/редактирования элемента.
  • Win-шпион – настольное приложение, которое позволяет указать элемент для взаимодействия в графическом интерфейсе системы.
  • SAP-шпион – настольное приложение, которое позволяет указать элемент для взаимодействия в графическом интерфейсе SAP.

Для использования Win- и SAP-шпионов на рабочем месте должны быть установлены обязательные компоненты платформы. Доступно только на машинах, работающих под ОС Windows.

Файл

Для создания файла нажмите кнопку «Новый файл», укажите название и выберите файл в проводнике.

Редактирование значения переменной

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

  • Форма создания и редактирования ресурса – подробнее читайте в разделе «Создание и редактирование ресурса».
  • Поле указания значения в карточке переменной – допустимо редактирование значений переменных, имеющих строковое или числовое значение или тип "Логический". Для остальных типов в поле представлено презентационное (краткое) значение, редактирование которого невозможно.
  • Форма редактирования значения переменной.

Дальнейшие шаги

<script>
  AJS.toInit(function() {
    var toc        = document.querySelector('.toc-float');
    var aside      = toc.closest('.cell.aside');
    var mainHeader = document.getElementById('main-header');
    var auiHeader  = document.querySelector('nav.aui-header');
    var marginTop  = 10; // дополнительный отступ сверху

    // Вставка заголовка, если ещё не вставлен
    function insertHeader() {
      if (!toc.querySelector('.toc-header')) {
        var header = document.createElement('div');
        header.textContent = 'На этой странице:';
        header.className = 'toc-header';
        header.style.fontWeight = 'bold';
        header.style.marginBottom = '10px';
        toc.insertBefore(header, toc.firstChild);
      }
    }

    // Применение inline-стилей
    function applyStyles() {
      insertHeader();

      // Получаем ширину родителя
      var asideRect = aside.getBoundingClientRect();

      // Вычисляем вертикальный отступ
      var offset = 0;
      if (mainHeader) {
        var mhRect = mainHeader.getBoundingClientRect();
        if (mhRect.bottom > 0 && mhRect.top < window.innerHeight) {
          offset = mhRect.bottom;
        }
      }
      if (offset === 0 && auiHeader) {
        var ahRect = auiHeader.getBoundingClientRect();
        offset = ahRect.bottom;
      }
      var topOffset = Math.max(offset + marginTop, asideRect.top);

      Object.assign(toc.style, {
        position:     'fixed',
        top:          topOffset + 'px',
        left:         asideRect.left + 'px',
        width:        asideRect.width + 'px',
        maxHeight:    (window.innerHeight - topOffset - 20) + 'px',
        overflowY:    'auto',
        boxSizing:    'border-box',
        border:       '1px solid #ddd',
        borderRadius: '4px',
        padding:      '15px',
        zIndex:       'auto'
      });
    }

    // Инициалный вызов
    applyStyles();

    // Обновление при скролле, ресайзе окна
    window.addEventListener('scroll', applyStyles);
    window.addEventListener('resize', applyStyles);

    // Наблюдатель за изменением размеров родителя
    if (window.ResizeObserver) {
      new ResizeObserver(applyStyles).observe(aside);
    }
  });
</script>