[I128-1663] "Отладка автовводов" в отладчике глобальных заданий в редакторе форматов


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.1 >> [I128-1663] "Отладка автовводов" в отладчике глобальных заданий в редакторе форматов📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Новые возможности 2026.1 🔘 Завершено Средний Иван Батрак

Компоненты: ИРБИС-сервер Турбо

Завершено: 06.11.2025 10:21

Тестирование нового функционала в редакторе форматов.

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

Для того, чтобы выполнять автовводы добавлены 2 галочки на форме отладчика

Почему их 2:

Как перейти отладчиком в автоввод.

Для этого требуется использовать клавишу F7 как для отладки вложенных форматов.

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

У операторов CORREC / NEWMFN нужно нажать F7 на операторе END.

На операторах END специально добавлена точка остановки для этого.

На данный момент отладчик сам останавливается на всех autoin.gbl, но это осталось случайно от недоработанного тестового кода, хотел убрать, но можно обсудить.

 

Известные проблемы.

На данный момент редактор останавливается сам на всех файлах автоввода.

Это, к сожалению, я забыл убрать.

Планировал сделать такой вариант только для основного сценария автоввода, так как у CORREC / NEWFN есть оператор END и можно вставать на него.

Наверное, если идет отладка большого количества записей, то постоянно срабатывающие остановки на autoin.gbl будут неудобными.

Можно это обсудить как удобнее.

Второй момент, который надо знать - это сценарии ФЛК.

По умолчанию они отключены, их можно включить в INI файле редактора параметром

DEBUG

EXEC_FLC=1

Попасть отладчиком в них можно нажимая клавишу F7 на последних строках автоввода вторичных записей (выполняется ФЛК только для них, как в сервере).

Тоже можно обсудить как лучше, а то попасть в ФЛК если захочешь, будет сложно.

 

Третий важный момент.

Контекст глобальных переменных.

У автовводов и ФЛК вложенных записей контекст свой, он не видит переменные из других контекстов.

После завершения автоввода контекст предыдущего сценария возвращается на место.

Это следствие доработок, связанных с рекурсией.

Еще пара моментов, которые заметил при работе с автовводом, вызывающем рекурсию (вложения).

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

Изредка может меняться кодировка в форматах основного сценария.

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

 

Сообщения об ошибках и ФЛК из вложенных автовводов будут видны на вкладке с логом сценария.

https://drive.google.com/open?id=1XHoIiM3zrFj3nrOkI-wZctfJRBgxrGL7

1. Связанные задачи

1.1. 🔗 blocks: I128-1667

[I128-1667] Новый оператор глобальной корректировки CORRECA, в который вместо списка терминов подается комплекстный поисковой запросов на языке запросов ИРБИС Статус: Завершено | Автор: Галина Арноси

1.2. 🔗 blocks: I128-1670

[I128-1670] Новый Оператор включения вложенных глобальных заданий Статус: Завершено | Автор: Галина Арноси

1.3. 🔗 Соответствует задача: I128-1852

[I128-1852] "Отладка автовводов" в отладчике глобальных заданий в редакторе форматов Статус: Отменено | Автор: Ilya Mikhaylenko