Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Конструктор выражений выражения предназначен для создания, редактирования и проверки выраженийвыражения, используемых используемого в параметрах действий параметре действия и в действии «Вычислить выражение» на схеме робота. Используя конструктор выражений, вы можете  формировать формировать выражения из операторов, значений , переменных, свойств элементов и результатов действий.

Вызов конструктора выражений

Чтобы открыть конструктор выражений, нажмите кнопку «Настроить Конструктор выражений вызывается по кнопке «Настроить выражение»:

  • из параметров действий с типами Строка, Число, Логический, в параметре действия с типом Строка/Число/Логический/Объект;

  • из действия в действии «Вычислить выражение выражение» на схеме робота.

Интерфейс конструктора

Окно конструктора выражений включает следующие области:

  1. поле Поле ввода выражения ;
  2. верхнюю панель операторов;
  3. – центральная рабочая область. 
  4. Панель операторов – содержит кнопки всех доступных операторов. Подробнее читайте в разделе «Панель операторов»;
  5. Тип строку с типом результата выражения;
  6. левую панель доступных в проекте Панель доступных для использования переменных, свойств элементов и результатов действий. Подробнее читайте в разделе «Левая панель»;
  7. область списка ошибок;
  8. кнопки «Сохранить» и  «Отменить»
  9. Панель ошибок. Подробнее об ошибках читайте в разделе «Проверка выражения и ошибки».

Создание выражения

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

В блоке ввода допускается ввод:

  • числовых значений;
  • строковых значений в двойных кавычках;
  • логических значений (true, false);
  • операторов;
  • переменных, свойств элементов и результатов действий через символ @.

можно использовать:

  • числовые значения – вводятся напрямую (например, 2, 3.14); 
  • строковые значения – обязательно в двойных кавычках ("текст"); 
  • логические значения – true или false; 
  • операторы – вводятся вручную или выбираются из верхней панели; 
  • переменные, свойства и результаты – вводятся через символ @ или выбираются на левой панели.

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

Чтобы создать выражение:

  1. Заполните первый блок значением:
    • вручную введите число или строку в двойных кавычках;
    • для ввода переменной/свойства элемента/результата действия введите символ @ и выберите подходящий вариант из списка автодополнения. Подробнее читайте в разделе «Автодополнение».;

    • кликните по переменной/свойства элемента/результата на левой панели. Подробнее читайте в разделе «Левая панель».

  2. Добавьте операторы:
    • вручную введите необходимый оператор;
    • выберите оператор из значений на верхней панели. Подробнее читайте в разделе «Панель операторов».
  3. Продолжайте формировать выражение: 
    • По мере работы с несколькими блоками удобно перемещаться между ними с клавиатуры. Подробнее читайте в разделе «Навигация между блоками».

    • Во время создания выражения вы можете воспользоваться функцией автодополнения и выбрать подходящий вариант из предложенного списка. Подробнее читайте в разделе «Автодополнение».
    • У каждого блока есть собственное меню, открывающееся при наведении курсора на блок. Подробнее читайте в разделе «Меню блока ввода».
    • Вы можете вызвать метод, введя точку. Подробнее о доступных методах читайте в разделе «Методы».
  4. Проверьте правильность введенного выражения.
  5. Сохраните выражение. 

Автодополнение

Автодополнение отображается при вводе значения в блок и изменяется по мере ввода текста. 

  • По умолчанию предлагаются операторы.
  • При вводе символа @ предлагаются переменные, свойства элементов и результаты действий.
  • При вводе символа точки предлагаются методы. Подробнее о доступных методах читайте в разделе «Методы».

Image Added

Меню блока ввода

Для каждого блока ввода доступно меню со следующими действиямиУ каждого блока ввода есть меню с кнопками:

  • очистить блок (Ctrl+Shift+Backspace);
  • удалить блок (Ctrl+Shift+Del);
  • открыть скобку – добавляет скобку перед блоком; 
  • закрыть скобку – добавляет скобку после блока; 
  • вставить блок слева (Alt+←) – добавляет новый пустой блок слева от текущего;
  • вставить блок справа (Alt+→) – добавляет новый пустой блок справа от текущего;
  • вставить значение переменной, свойства, результата (@) , для обращения к переменным, свойствам, результатам (Ctrl+2)– открывает выбор переменной, свойства или результата;
  • вставить текст (")" для вставки строки (") – добавляет в блок добавляются двойные кавычки, курсор устанавливается между них) ними;
  • вызвать метод (.) – открывает список доступных методов. Подробнее о доступных методах читайте в разделе «Методы»;
  • перенести строку (Shift+Enter)

Навигация между блоками

Навигация между блоками осуществляется с помощью клавиатуры:

  • ← – переход к предыдущему блоку при расположении курсора в начале блока;
  • → – переход к следующему блоку при расположении курсора в конце блока;
  • Tab – переход к следующему блоку;
  • Shift + Tab – переход к предыдущему блоку.
Перенос строки
  • ;
  • Shift + Enter – перенос строки (также выполняется автоматически при достижении ширины области
или вручную с помощью Shift + Enter.
  • ).

Панель операторов

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

Image Added

Вы можете использовать следующие операторы:

  • Арифметические: 
    • + – сложение. Оператор работает с числовыми и строковыми значениями;
    • - – вычитание;
    • * – умножение;
    • / – деление;
    • //  – целочисленное деление;
    • % – остаток от деления;
    • ** – возведение в степень;
  • Операторы сравнения:
    • == – равно. Оператор работает с числовыми, строковыми и логическими значениями;
    • !!= – не равно. Оператор работает с числовыми, строковыми и логическими значениями;
    • > – больше чем;
    • < – меньше чем;
    • >= – больше или равно;
    • <= – меньше или равно.;
  • Логические: 
    • && / AND – конъюнкция;
    • || / OR – дизъинкция;
    • ^ / XOR – исключающая дизъюнкция;
    • ! / NOT – инверсия.

Учтите, логические операторы могут задаваться в любом доступном виде (например, && или AND). При вводе с клавиатуры они не  заменяются на текстовое значение, как у названия кнопки.

Левая панель

Левая панель содержит вкладки:

  • Переменные;
  • Свойства;
  • Результаты.

Во вкладках Переменные и Результаты доступна фильтрация по типам:

  • Логический;
  • Строка;
  • Число.

По клику на элемент выполняется вставка ссылки в новый блок ввода.

Методы

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

  • ToNumber – преобразует значение в число;
  • ToBoolean – преобразует значение в логический тип;
  • ToString – преобразует значение в строку.

Image Added

Проверка выражения и ошибки

Проверка выражения выполняется автоматически по мере ввода. 

Если в выражении есть ошибка:

  1. Ошибочные фрагменты подсвечиваются в поле ввода.
  2. Список ошибок отображается в нижней панели. При клике на текст ошибки курсор автоматически переместится к блоку, содержащему ошибку.

Учтите, что кнопка «Сохранить» заблокирована до тех пор, пока в выражении присутствует хотя бы одна ошибка.

Типичные причины ошибок:

  • отсутствие закрывающей скобки;
  • незакрытая кавычка в строке;
  • два оператора подряд (например, 5 + * 7);
  • лишний оператор в конце выражения;
  • несовместимые типы в операции (например, "строка" - 5).

Сохранение выражения

Когда вы сформировали выражение, и оно не содержит ошибки, нажмите кнопку «Сохранить».

После сохранения:

  1. Выражение, сформированное в конструкторе, преобразуется в действие «Выражение» на схеме робота.
  2. Если конструктор вызывался из параметра действия и выражения – выражение разместится на схеме перед тем действием, в параметре которого оно было написано.

Учтите, что вы не сможете сохранить выражение, если выражение, если в нем присутствуют ошибки. Подробнее об ошибках читайте в разделе «Проверка выражения и ошибки».

Image Added

Созданное в конструкторе выражение преобразуется в действие «Выражение».

Image Removed

  • Если конструктор был вызван из параметра действия и выражение отсутствовало:
    • Действие Выражение размещается на схеме перед действием, в параметре которого было написано выражение
    • После добавления Выражения на схему фокус остается на действии, из которого вызывался конструктор
  • Выражение должно искаться через поиск в параметрах
  • На блоке действия Выражение отображается кнопка вызова конструктора выражений
    • При открытии конструктора выражений со схемы робота открывается окно конструктора выражений с заполненным ранее выражением
  • По умолчанию у действия Выражение выбирается последняя версия

    Оглавление
    classtoc-float

    HTML
    <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>