523
правки
Изменения
Новая страница: «= Отладчик скриптов = == Обзор == Отладчик скриптов — рабочий инструмент для разработки и…»
= Отладчик скриптов =
== Обзор ==
Отладчик скриптов — рабочий инструмент для разработки и диагностики скриптов встроенного языка.
Он позволяет запускать скрипты в режиме отладки, останавливать выполнение на нужных строках, анализировать переменные и подключаться к уже запущенным скриптам.
== Основные возможности ==
* '''Запуск в режиме отладки''' — выполнение скрипта с остановкой на заданных строках
* '''Просмотр переменных''' — автоматическое отображение значений всех переменных при остановке
* '''Наблюдение за выражениями''' — вычисление произвольных выражений при каждой остановке
* '''Точки останова''' — остановка выполнения на выбранных строках кода
* '''AttachDebugger''' — подключение к уже выполняющемуся скрипту
* '''Работа с файлами''' — открытие, сохранение и отслеживание изменений файлов скриптов
* '''Сохранение в базу данных''' — запись отредактированных скриптов в БД
== Интерфейс отладчика ==
=== Редактор кода ===
Основная область для написания и редактирования скрипта. Редактор поддерживает:
* Подсветку синтаксиса
* Нумерацию строк
* Визуальное отображение точек останова (красные кружки в левом поле)
* Подсветку текущей строки выполнения (желтый фон)
* Подсветку парных скобок при установке курсора
=== Лог ===
Отображает:
* Вывод команд скрипта и команды Print
* Сообщения отладчика (остановка на breakpoint, ошибки)
* Временные метки для каждого сообщения в формате `[hh:nn:ss]`
=== Список переменных ===
Показывает все переменные и объекты текущего контекста с их текущими значениями.
Обновляется автоматически при каждой остановке на точке останова.
=== Список наблюдения ===
Позволяет отслеживать произвольные выражения во время выполнения.
Значения выражений пересчитываются и отображаются при каждой остановке.
=== Кнопки управления ===
* '''Запустить''' — запуск скрипта в режиме отладки (F9)
* '''Остановить''' — аварийная остановка выполняющегося скрипта
* '''Продолжить''' — возобновление выполнения после остановки на точке останова
== Работа с отладчиком ==
=== Запуск скрипта ===
# Введите или откройте скрипт в редакторе
# При необходимости установите точки останова
# Нажмите кнопку «Запустить» или клавишу F9
# Скрипт выполнится до первой точки останова или до ошибки
=== Установка точек останова ===
'''Способ 1.''' Щёлкните левой кнопкой мыши в левой части нужной строки (область номеров строк). На строке появится красный кружок — точка останова установлена. Повторный щелчок удалит её.
'''Способ 2.''' Установите курсор на строку и используйте пункт меню для добавления точки останова.
'''Важно.''' Точки останова всегда останавливают выполнение на указанной строке, дополнительные условия не поддерживаются.
=== Просмотр переменных ===
При остановке на точке останова все переменные автоматически отображаются в списке.
Значения обновляются при каждой остановке.
=== Наблюдение за выражениями ===
# Выделите текст в редакторе (например, имя переменной или выражение)
# Выберите в контекстном меню «Добавить watch из выделения»
# Либо используйте меню «Отладка» ? «Добавить watch» и введите выражение вручную
Выражение будет добавлено в список и пересчитываться при каждой остановке.
'''Примеры выражений:'''
* `$a + $b` — сумма переменных
* `db.RecordCount` — количество записей в наборе данных
* `$i > 0` — логическое условие
=== Продолжение выполнения ===
После остановки на точке останова:
# Просмотрите значения переменных и выражений наблюдения
# При необходимости скорректируйте точки останова или выражения
# Нажмите кнопку «Продолжить» — выполнение продолжится до следующей точки останова или завершения скрипта
=== Остановка выполнения ===
Во время выполнения скрипта можно:
* Нажать кнопку «Остановить» для аварийной остановки
* Нажать и удерживать клавишу ESC для прерывания выполнения
== Работа с файлами ==
=== Открытие файла с отслеживанием ===
Меню «Файл» ? «Открыть и отслеживать».
Открывает файл скрипта и включает автоматическое отслеживание изменений на диске.
При изменении файла во внешнем редакторе текст автоматически обновляется в отладчике.
=== Сохранение в файл ===
Меню «Файл» ? «Сохранить в файл».
Сохраняет текущий текст скрипта в файл.
Если файл был открыт ранее, по умолчанию предлагается исходный путь.
== Сохранение скриптов в базу данных ==
Если настроено сохранение в базу данных, отладчик может записать изменённый скрипт обратно в БД.
* '''«Файл» ? «Сохранить»''' — сохранить скрипт в базу данных
* '''«Файл» ? «Сохранить и закрыть»''' — сохранить скрипт и закрыть окно отладчика
== Подключение к выполняемому скрипту (AttachDebugger) ==
Механизм AttachDebugger позволяет подключить отладчик к скрипту, который уже выполняется в другом месте приложения.
Это удобно для отладки:
* Скриптов из печатных форм
* Скриптов из системных событий
* Скриптов из дополнительных услуг
=== Как использовать ===
'''В отладчике:'''
# Откройте отладчик скриптов.
# Включите режим отслеживания: меню «Скрипт» ? «Ожидать команды AttachDebugger».
# В строке состояния появится сообщение «Ожидание команды AttachDebugger...».
'''В скрипте:'''
'''Важно.''' Команда `AttachDebugger` должна быть '''первой командой''' в скрипте. Добавьте её в самое начало:
<source lang="json">
AttachDebugger;
set($a, 10);
set($b, 20);
set($sum, $a + $b);
showmessage($sum);
</source>
'''Что происходит:'''
# При выполнении команды `AttachDebugger` скрипт останавливается.
# Отладчик автоматически подключается к выполняющемуся скрипту.
# Текст скрипта загружается в редактор отладчика.
# Можно ставить точки останова, просматривать переменные и продолжать отладку.
'''Важно:'''
* Отладчик должен быть в режиме отслеживания до того, как скрипт дойдёт до команды `AttachDebugger`.
* Если режим отслеживания не включён, команда `AttachDebugger` игнорируется.
* В режиме отслеживания может работать только один отладчик.
* Команда `AttachDebugger` должна быть первой командой в скрипте.
== Горячие клавиши ==
{| class="wikitable"
|-
! Клавиша !! Действие
|-
| '''F9''' || Запустить скрипт в режиме отладки
|-
| '''ESC''' || Аварийная остановка скрипта (удерживать)
|-
| '''Ctrl+C''' || Копировать
|-
| '''Ctrl+X''' || Вырезать
|-
| '''Ctrl+V''' || Вставить
|-
| '''Ctrl+A''' || Выделить все
|-
| '''Ctrl+Z''' || Отменить
|-
| '''Enter''' || Редактировать выражение наблюдения
|-
| '''Delete''' || Удалить выражение наблюдения
|}
== Настройки редактора ==
=== Перенос строк ===
Контекстное меню редактора ? «Перенос строк».
Включает или выключает автоматический перенос длинных строк.
Настройка сохраняется и восстанавливается при следующем запуске отладчика.
=== Отображение специальных символов ===
Контекстное меню редактора ? «Показать специальные символы».
Показывает пробелы и табуляции в виде специальных символов.
Удобно для поиска лишних пробелов и контроля форматирования кода.
== Примеры использования ==
=== Пример 1: Отладка скрипта с точками останова ===
'''Задача.''' Проверить корректность простого цикла суммирования.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($i, 10);
set($sum, 0);
while($i > 0,
set($sum, $sum + $i);
set($i, $i - 1)
);
showmessage($sum);
</source>
# Установите точку останова на строке `set($sum, $sum + $i);`.
# Запустите скрипт (F9).
# При остановке просмотрите значения `$i` и `$sum` в списке переменных.
# Добавьте выражение наблюдения `$sum + $i`.
# Нажимайте «Продолжить», наблюдая, как меняются значения до завершения цикла.
'''Что даёт отладчик:'''
* Видно, как накапливается сумма на каждом шаге.
* Можно быстро обнаружить ошибки в логике цикла.
=== Пример 2: Отладка скрипта с условиями ===
'''Задача.''' Проверить, корректно ли выбирается максимум из двух значений.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($a, 10);
set($b, 20);
if($a > $b,
set($result, $a),
set($result, $b)
);
showmessage($result);
</source>
# Установите точку останова на строке `if($a > $b,`.
# Запустите скрипт (F9).
# При остановке просмотрите значения `$a` и `$b`.
# Добавьте выражение наблюдения `$a > $b`.
# Продолжите выполнение и посмотрите, какое значение попало в `$result`.
'''Что даёт отладчик:'''
* Понятно, при каких значениях срабатывает та или иная ветка условия.
* Удобно тестировать разные комбинации входных данных.
=== Пример 3: Отладка скрипта с работой с базой данных ===
'''Задача.''' Проверить правильность выборки и обработки данных из базы.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
new('TSelfADO', 'db');
db.Open('SELECT code FROM city WHERE name=' + QuotedStr('Москва'));
if(db.RecordCount > 0,
set($code, int(db.FieldByName('code'))),
0
);
showmessage($code);
</source>
# Установите точку останова на строке `if(db.RecordCount > 0,`.
# Запустите скрипт (F9).
# При остановке просмотрите значение `db.RecordCount`.
# Добавьте выражение наблюдения `db.FieldByName('code')`.
# Продолжите выполнение и убедитесь, что в `$code` попало ожидаемое значение.
'''Что даёт отладчик:'''
* Видно, сколько записей вернул запрос.
* Можно проверить конкретные значения полей перед дальнейшей обработкой.
=== Пример 4: Отладка скрипта из печатной формы через AttachDebugger ===
'''Задача.''' Подключиться к скрипту печатной формы, который выполняется из основного приложения.
# Откройте отладчик скриптов.
# Включите режим отслеживания: «Скрипт» ? «Ожидать команды AttachDebugger».
# В скрипте печатной формы добавьте команду `AttachDebugger` в самое начало:
<source lang="json">
AttachDebugger;
new('TSelfADO', 'db');
db.Open('SELECT COUNT(*) as cnt FROM address WHERE date_put IS NULL');
set($count, int(db.FieldByName('cnt')));
if($count > 100,
showmessage('Внимание! Много недоставленных адресов!'),
0
);
</source>
# Запустите печать документа.
# Когда выполнение дойдёт до `AttachDebugger`, отладчик автоматически подключится.
# Установите точку останова на строке `if($count > 100,`.
# Продолжите выполнение и проанализируйте значение `$count`.
'''Что даёт отладчик:'''
* Можно разбирать сценарии, которые запускаются не из отладчика, а из бизнес-форм.
* Скрипт становится доступен для анализа так же, как и обычный скрипт, запущенный из отладчика.
=== Пример 5: Отладка скрипта с циклом FOR ===
'''Задача.''' Проверить корректность вычислений в цикле FOR.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($sum, 0);
for($i, 1, 10, set($sum, $sum + $i));
showmessage($sum);
</source>
# Установите точку останова на строке `set($sum, $sum + $i);`.
# Запустите скрипт (F9) и просматривайте значения `$i` и `$sum` при остановках.
# Добавьте выражение наблюдения `$sum + $i` для контроля вычислений.
'''Что даёт отладчик:'''
* Пошагово видно, как формируется итоговая сумма.
* Удобно находить ошибки в граничных условиях цикла.
=== Пример 6: Использование выражений наблюдения ===
'''Задача.''' Одновременно контролировать несколько взаимосвязанных значений.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($a, 10);
set($b, 20);
set($c, 30);
set($result, $a + $b + $c);
showmessage($result);
</source>
# Установите точку останова на строке `set($result, $a + $b + $c);`.
# Запустите скрипт (F9).
# Добавьте выражения наблюдения:
#* `$a + $b`
#* `$b + $c`
#* `$a + $b + $c`
# При остановке сравните значения выражений и итоговый результат.
'''Что даёт отладчик:'''
* Одновременно видно несколько ключевых показателей.
* Легче находить расхождения между промежуточными и итоговыми значениями.
== Заключение ==
Отладчик скриптов — компактный и практичный инструмент для работы со скриптами встроенного языка.
Он позволяет быстро находить ошибки в логике, контролировать переменные и подключаться к выполняющимся скриптам без изменения бизнес-процессов в приложении.
== Обзор ==
Отладчик скриптов — рабочий инструмент для разработки и диагностики скриптов встроенного языка.
Он позволяет запускать скрипты в режиме отладки, останавливать выполнение на нужных строках, анализировать переменные и подключаться к уже запущенным скриптам.
== Основные возможности ==
* '''Запуск в режиме отладки''' — выполнение скрипта с остановкой на заданных строках
* '''Просмотр переменных''' — автоматическое отображение значений всех переменных при остановке
* '''Наблюдение за выражениями''' — вычисление произвольных выражений при каждой остановке
* '''Точки останова''' — остановка выполнения на выбранных строках кода
* '''AttachDebugger''' — подключение к уже выполняющемуся скрипту
* '''Работа с файлами''' — открытие, сохранение и отслеживание изменений файлов скриптов
* '''Сохранение в базу данных''' — запись отредактированных скриптов в БД
== Интерфейс отладчика ==
=== Редактор кода ===
Основная область для написания и редактирования скрипта. Редактор поддерживает:
* Подсветку синтаксиса
* Нумерацию строк
* Визуальное отображение точек останова (красные кружки в левом поле)
* Подсветку текущей строки выполнения (желтый фон)
* Подсветку парных скобок при установке курсора
=== Лог ===
Отображает:
* Вывод команд скрипта и команды Print
* Сообщения отладчика (остановка на breakpoint, ошибки)
* Временные метки для каждого сообщения в формате `[hh:nn:ss]`
=== Список переменных ===
Показывает все переменные и объекты текущего контекста с их текущими значениями.
Обновляется автоматически при каждой остановке на точке останова.
=== Список наблюдения ===
Позволяет отслеживать произвольные выражения во время выполнения.
Значения выражений пересчитываются и отображаются при каждой остановке.
=== Кнопки управления ===
* '''Запустить''' — запуск скрипта в режиме отладки (F9)
* '''Остановить''' — аварийная остановка выполняющегося скрипта
* '''Продолжить''' — возобновление выполнения после остановки на точке останова
== Работа с отладчиком ==
=== Запуск скрипта ===
# Введите или откройте скрипт в редакторе
# При необходимости установите точки останова
# Нажмите кнопку «Запустить» или клавишу F9
# Скрипт выполнится до первой точки останова или до ошибки
=== Установка точек останова ===
'''Способ 1.''' Щёлкните левой кнопкой мыши в левой части нужной строки (область номеров строк). На строке появится красный кружок — точка останова установлена. Повторный щелчок удалит её.
'''Способ 2.''' Установите курсор на строку и используйте пункт меню для добавления точки останова.
'''Важно.''' Точки останова всегда останавливают выполнение на указанной строке, дополнительные условия не поддерживаются.
=== Просмотр переменных ===
При остановке на точке останова все переменные автоматически отображаются в списке.
Значения обновляются при каждой остановке.
=== Наблюдение за выражениями ===
# Выделите текст в редакторе (например, имя переменной или выражение)
# Выберите в контекстном меню «Добавить watch из выделения»
# Либо используйте меню «Отладка» ? «Добавить watch» и введите выражение вручную
Выражение будет добавлено в список и пересчитываться при каждой остановке.
'''Примеры выражений:'''
* `$a + $b` — сумма переменных
* `db.RecordCount` — количество записей в наборе данных
* `$i > 0` — логическое условие
=== Продолжение выполнения ===
После остановки на точке останова:
# Просмотрите значения переменных и выражений наблюдения
# При необходимости скорректируйте точки останова или выражения
# Нажмите кнопку «Продолжить» — выполнение продолжится до следующей точки останова или завершения скрипта
=== Остановка выполнения ===
Во время выполнения скрипта можно:
* Нажать кнопку «Остановить» для аварийной остановки
* Нажать и удерживать клавишу ESC для прерывания выполнения
== Работа с файлами ==
=== Открытие файла с отслеживанием ===
Меню «Файл» ? «Открыть и отслеживать».
Открывает файл скрипта и включает автоматическое отслеживание изменений на диске.
При изменении файла во внешнем редакторе текст автоматически обновляется в отладчике.
=== Сохранение в файл ===
Меню «Файл» ? «Сохранить в файл».
Сохраняет текущий текст скрипта в файл.
Если файл был открыт ранее, по умолчанию предлагается исходный путь.
== Сохранение скриптов в базу данных ==
Если настроено сохранение в базу данных, отладчик может записать изменённый скрипт обратно в БД.
* '''«Файл» ? «Сохранить»''' — сохранить скрипт в базу данных
* '''«Файл» ? «Сохранить и закрыть»''' — сохранить скрипт и закрыть окно отладчика
== Подключение к выполняемому скрипту (AttachDebugger) ==
Механизм AttachDebugger позволяет подключить отладчик к скрипту, который уже выполняется в другом месте приложения.
Это удобно для отладки:
* Скриптов из печатных форм
* Скриптов из системных событий
* Скриптов из дополнительных услуг
=== Как использовать ===
'''В отладчике:'''
# Откройте отладчик скриптов.
# Включите режим отслеживания: меню «Скрипт» ? «Ожидать команды AttachDebugger».
# В строке состояния появится сообщение «Ожидание команды AttachDebugger...».
'''В скрипте:'''
'''Важно.''' Команда `AttachDebugger` должна быть '''первой командой''' в скрипте. Добавьте её в самое начало:
<source lang="json">
AttachDebugger;
set($a, 10);
set($b, 20);
set($sum, $a + $b);
showmessage($sum);
</source>
'''Что происходит:'''
# При выполнении команды `AttachDebugger` скрипт останавливается.
# Отладчик автоматически подключается к выполняющемуся скрипту.
# Текст скрипта загружается в редактор отладчика.
# Можно ставить точки останова, просматривать переменные и продолжать отладку.
'''Важно:'''
* Отладчик должен быть в режиме отслеживания до того, как скрипт дойдёт до команды `AttachDebugger`.
* Если режим отслеживания не включён, команда `AttachDebugger` игнорируется.
* В режиме отслеживания может работать только один отладчик.
* Команда `AttachDebugger` должна быть первой командой в скрипте.
== Горячие клавиши ==
{| class="wikitable"
|-
! Клавиша !! Действие
|-
| '''F9''' || Запустить скрипт в режиме отладки
|-
| '''ESC''' || Аварийная остановка скрипта (удерживать)
|-
| '''Ctrl+C''' || Копировать
|-
| '''Ctrl+X''' || Вырезать
|-
| '''Ctrl+V''' || Вставить
|-
| '''Ctrl+A''' || Выделить все
|-
| '''Ctrl+Z''' || Отменить
|-
| '''Enter''' || Редактировать выражение наблюдения
|-
| '''Delete''' || Удалить выражение наблюдения
|}
== Настройки редактора ==
=== Перенос строк ===
Контекстное меню редактора ? «Перенос строк».
Включает или выключает автоматический перенос длинных строк.
Настройка сохраняется и восстанавливается при следующем запуске отладчика.
=== Отображение специальных символов ===
Контекстное меню редактора ? «Показать специальные символы».
Показывает пробелы и табуляции в виде специальных символов.
Удобно для поиска лишних пробелов и контроля форматирования кода.
== Примеры использования ==
=== Пример 1: Отладка скрипта с точками останова ===
'''Задача.''' Проверить корректность простого цикла суммирования.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($i, 10);
set($sum, 0);
while($i > 0,
set($sum, $sum + $i);
set($i, $i - 1)
);
showmessage($sum);
</source>
# Установите точку останова на строке `set($sum, $sum + $i);`.
# Запустите скрипт (F9).
# При остановке просмотрите значения `$i` и `$sum` в списке переменных.
# Добавьте выражение наблюдения `$sum + $i`.
# Нажимайте «Продолжить», наблюдая, как меняются значения до завершения цикла.
'''Что даёт отладчик:'''
* Видно, как накапливается сумма на каждом шаге.
* Можно быстро обнаружить ошибки в логике цикла.
=== Пример 2: Отладка скрипта с условиями ===
'''Задача.''' Проверить, корректно ли выбирается максимум из двух значений.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($a, 10);
set($b, 20);
if($a > $b,
set($result, $a),
set($result, $b)
);
showmessage($result);
</source>
# Установите точку останова на строке `if($a > $b,`.
# Запустите скрипт (F9).
# При остановке просмотрите значения `$a` и `$b`.
# Добавьте выражение наблюдения `$a > $b`.
# Продолжите выполнение и посмотрите, какое значение попало в `$result`.
'''Что даёт отладчик:'''
* Понятно, при каких значениях срабатывает та или иная ветка условия.
* Удобно тестировать разные комбинации входных данных.
=== Пример 3: Отладка скрипта с работой с базой данных ===
'''Задача.''' Проверить правильность выборки и обработки данных из базы.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
new('TSelfADO', 'db');
db.Open('SELECT code FROM city WHERE name=' + QuotedStr('Москва'));
if(db.RecordCount > 0,
set($code, int(db.FieldByName('code'))),
0
);
showmessage($code);
</source>
# Установите точку останова на строке `if(db.RecordCount > 0,`.
# Запустите скрипт (F9).
# При остановке просмотрите значение `db.RecordCount`.
# Добавьте выражение наблюдения `db.FieldByName('code')`.
# Продолжите выполнение и убедитесь, что в `$code` попало ожидаемое значение.
'''Что даёт отладчик:'''
* Видно, сколько записей вернул запрос.
* Можно проверить конкретные значения полей перед дальнейшей обработкой.
=== Пример 4: Отладка скрипта из печатной формы через AttachDebugger ===
'''Задача.''' Подключиться к скрипту печатной формы, который выполняется из основного приложения.
# Откройте отладчик скриптов.
# Включите режим отслеживания: «Скрипт» ? «Ожидать команды AttachDebugger».
# В скрипте печатной формы добавьте команду `AttachDebugger` в самое начало:
<source lang="json">
AttachDebugger;
new('TSelfADO', 'db');
db.Open('SELECT COUNT(*) as cnt FROM address WHERE date_put IS NULL');
set($count, int(db.FieldByName('cnt')));
if($count > 100,
showmessage('Внимание! Много недоставленных адресов!'),
0
);
</source>
# Запустите печать документа.
# Когда выполнение дойдёт до `AttachDebugger`, отладчик автоматически подключится.
# Установите точку останова на строке `if($count > 100,`.
# Продолжите выполнение и проанализируйте значение `$count`.
'''Что даёт отладчик:'''
* Можно разбирать сценарии, которые запускаются не из отладчика, а из бизнес-форм.
* Скрипт становится доступен для анализа так же, как и обычный скрипт, запущенный из отладчика.
=== Пример 5: Отладка скрипта с циклом FOR ===
'''Задача.''' Проверить корректность вычислений в цикле FOR.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($sum, 0);
for($i, 1, 10, set($sum, $sum + $i));
showmessage($sum);
</source>
# Установите точку останова на строке `set($sum, $sum + $i);`.
# Запустите скрипт (F9) и просматривайте значения `$i` и `$sum` при остановках.
# Добавьте выражение наблюдения `$sum + $i` для контроля вычислений.
'''Что даёт отладчик:'''
* Пошагово видно, как формируется итоговая сумма.
* Удобно находить ошибки в граничных условиях цикла.
=== Пример 6: Использование выражений наблюдения ===
'''Задача.''' Одновременно контролировать несколько взаимосвязанных значений.
# Откройте отладчик.
# Введите скрипт:
<source lang="json">
set($a, 10);
set($b, 20);
set($c, 30);
set($result, $a + $b + $c);
showmessage($result);
</source>
# Установите точку останова на строке `set($result, $a + $b + $c);`.
# Запустите скрипт (F9).
# Добавьте выражения наблюдения:
#* `$a + $b`
#* `$b + $c`
#* `$a + $b + $c`
# При остановке сравните значения выражений и итоговый результат.
'''Что даёт отладчик:'''
* Одновременно видно несколько ключевых показателей.
* Легче находить расхождения между промежуточными и итоговыми значениями.
== Заключение ==
Отладчик скриптов — компактный и практичный инструмент для работы со скриптами встроенного языка.
Он позволяет быстро находить ошибки в логике, контролировать переменные и подключаться к выполняющимся скриптам без изменения бизнес-процессов в приложении.