[I128-2328] Некорректное составление поискового запроса при поиске читателя


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


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.1.1 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль Bookland - АРМ Книговыдача

Завершено: 21.04.2026 07:48

Симптом:

 

Появление сообщения Читатель не найден ((""ФИО""))

 

Решение:

  Исправление формирования поискового запроса читателя в модуле Bookland

В классе fncallBooklandSetCurRdrAppBySearch изменена логика предварительной обработки поисковой строки ($search) перед ее передачей в базу данных.

Ранее запрос безусловно оборачивался в конструкцию ("..."), если он не начинался со скобки (. Это могло приводить к синтаксическим ошибкам ISIS-запроса (двойному квотированию (""..."")), если передаваемая в функцию строка поиска уже содержала двойные кавычки.

Теперь реализовано более безопасное формирование запроса:

Двойные кавычки "" добавляются только в том случае, если поисковая строка изначально не начинается со скобки ( и не начинается с двойной кавычки ". После этого круглые скобки () добавляются, если строка ими еще не обрамлена.

-

В классе fncallBooklandSetCurRdrAppBySearch изменена логика предварительной обработки поисковой строки ($search) перед ее передачей в базу данных.

Ранее запрос безусловно оборачивался в конструкцию ("..."), если он не начинался со скобки (. Это могло приводить к синтаксическим ошибкам ISIS-запроса (двойному квотированию (""..."")), если передаваемая в функцию строка поиска уже содержала двойные кавычки.

Теперь реализовано более безопасное формирование запроса:

Двойные кавычки "" добавляются только в том случае, если поисковая строка изначально не начинается со скобки ( и не начинается с двойной кавычки ". После этого круглые скобки () добавляются, если строка ими еще не обрамлена.