НАЧАЛО >> Глобальные корректировки >> Оператор глобальной корректировки CORRECA📄 Скачать в DOCX
CORRECA используется в GBL-сценариях, когда вложенная корректировка должна отобрать записи не по готовому списку терминов, а по поисковому выражению языка ИРБИС. По назначению оператор близок к CORREC: он запускает корректировку найденных записей и завершает блок оператором END.
CORRECA нужен для сценариев, где область вложенной корректировки нельзя надежно выразить одним простым термином. Вместо последовательного перебора терминов сценарий передает серверу полноценный поисковый запрос: с логическими связками, префиксами словаря, уточняющими условиями и значениями, вычисленными форматом.
Используйте CORREC, если существующая логика уже формирует точный список терминов для корректировки. Используйте CORRECA, если целевую выборку нужно получить тем же способом, что и при прямом поиске записей.
Блок CORRECA строится по той же идее, что и блок CORREC: сценарий задает базу, правила изменения записи и условие отбора. Отличие находится в условии отбора: для CORRECA это поисковое выражение ИРБИС, а не список терминов.
CORRECA
<имя базы или формат, который возвращает имя базы>
<формат изменения найденной записи>
<поисковое выражение ИРБИС>
END
Поисковое выражение должно быть проверено до запуска на рабочей базе. Если оно строится из текущей записи, убедитесь, что формат не возвращает пустой или слишком широкий запрос.
Во время выполнения CORRECA форматер получает служебные переменные:
| Переменная | Назначение |
|---|---|
IRBIS_SEARCH_REQ |
Поисковое выражение, переданное оператору. |
IRBIS_SEARCH_REQFT |
Формат уточнения поискового результата. В глобальной корректировке сейчас не применяется; переменная зарезервирована для будущего использования. |
IRBIS_SEARCH_TOTAL |
Количество записей, найденных поисковым выражением. |
IRBIS_SEARCH_CUR |
Номер текущей итерации последовательного поиска, начиная с 0. |
Эти переменные удобно использовать для протоколирования, дополнительной проверки сценария и защиты от слишком широкого результата.
Перед выполнением сценария с CORRECA проверьте поисковый запрос обычным поиском и оцените количество найденных записей. Для массовых изменений сначала запускайте сценарий на копии базы или на малой выборке. После выполнения проверьте измененные записи и актуализируйте словари, если корректировка изменила поисковые поля.