НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте 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-запроса (двойному квотированию (""..."")), если передаваемая в функцию строка поиска уже содержала двойные кавычки.
Теперь реализовано более безопасное формирование запроса:
Двойные кавычки "" добавляются только в том случае, если поисковая строка изначально не начинается со скобки ( и не начинается с двойной кавычки ". После этого круглые скобки () добавляются, если строка ими еще не обрамлена.