Коды останова
Некоторые действия парсера (выполняющие проверку какого-либо условия), в качестве значения параметра «Остановить» или параметра «Название набора действий», принимают специальные коды останова, — отрицательные значения от -1 до -9
Указание такого кода говорит парсеру, что при выполнении условия в действии, нужно остановить процесс выполнения списка действий.
Коды останова могут принимать следующие значения:
| Код останова | Действия со стороны программы |
|---|---|
| -1 | выход из обработки текущим списком действий |
| -2 | выход без обработки подуровней и вывода на лист |
| -3 | выход без обработки остальных элементов текущего массива |
| -4 | выход без обработки остальных элементов текущего массива, и останов верхних уровней обработки исходных данных |
| -5 | принудительный переход к следующему значению исходных данных (на верхний уровень) |
| -9 | полный останов парсера (завершение работы) |
Коды возврата / перехода на другое действие
Некоторые действия также поддерживают переход к другому действию в текущем списке действий (например, это умеет действие Проверка на выполнение условия).
В этом случае, вместо кода останова (отрицательное значение) указывается код перехода на другое действие — положительное числовое значение (от 1 и до количества действий в списке). При выполнении условия, парсер перейдёт к выполнению действия с указанным номером.
Пример использования кода возврата / перехода на другое действие:
| Действие | Параметр | Значение | Результат |
|---|---|---|---|
| Задать новое значение | Новое значение | 10 | Число |
| Сохранить результат в переменную | |||
| Использовать новое значение | да | ||
| Сумма чисел | Сколько прибавить или вычесть | 3 | Число |
| Количество цифр после запятой | 0 | ||
| Проверка на выполнение условия | Режим проверки | не кратно | Число |
| Значение для сравнения | 7 | ||
| Действие при выполнении условия | Остановить | ||
| Параметр действия | 2 | ||
| Добавить текст ДО или ПОСЛЕ | Префикс | Минимальное число вида 10 + 3*X равно | Текст |
| Суффикс |
В этом примере, парсер добавляет к исходному значению 10 число 3, и проверяет, делится ли результат на 7. Если не делится, то выполняется переход на действие с номером 2 (второе действие в списке — Сумма чисел), т.е. снова выполняется суммирование с числом 3 и проверка на делимость.
После нескольки суммирований мы получаем результат (число 28), которое не проходит проверку «не делится на 7», и парсер продолжает выполнять действия из списка ниже
ВНИМАНИЕ: крайне осторожно используйте кода перехода к другому действию, поскольку это может вызвать зацикливание парсера!
