НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.4 >> [I128-2680] Ошибка полного описания для изданий с недоступной ссылкой ЭБС📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.4 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль RSU - Сетевые удаленные ресурсы
Завершено: 14.07.2026 10:31
Проблема: При открытии полного описания издания со ссылкой на электронно-библиотечную систему страница могла завершаться ошибкой, если для этой записи не находилась доступная ссылка бесшовного перехода через настройки RSU. В результате пользователь не видел карточку издания и не мог перейти даже по исходной ссылке из записи.
Решение: Полное описание больше не прерывается в этом сценарии. Если подходящая ссылка ЭБС не найдена, система продолжает показывать карточку издания и использует исходную ссылку, указанную в записи.
Технические подробности:
В RSU/GetEBS добавлена нормализация результата ForEachRecord(): пустой или неожиданный результат приводится к пустому списку ЭБС перед обходом. Поэтому count() больше не вызывается для null, а существующий fallback в EC/ShowFull сохраняет исходную ссылку.
-
I128-2680 исправляет падение полного описания при попытке получить бесшовную ссылку ЭБС через RSU. Изменение целевое для release/2026.2: обработчик RSU/GetEBS теперь корректно переживает пустой результат поиска RSU и возвращает пустой URL, чтобы EC/ShowFull мог использовать исходную ссылку из записи.
Куда смотреть:
?id=EC/ShowFull 951^I и 951^U, где RSUirbis64 быстрым поиском не найден конкретный MFN/тестовая запись по 2022/R004 или 142991. Было: страница могла завершаться PHP Fatal error count(): Argument #1 must be of type Countable|array, null given. Стало: страница продолжает открываться, а при пустом результате RSU используется исходная ссылка из 951^I.951, где 951^I содержит исходную ссылку, а 951^U содержит код RSU.Изменения по файлам:
modules/RSU/__call/GetEBS.inc
ForEachRecord() добавлена нормализация результата: не-массив или результат без массива ebs приводится к пустому списку ЭБС.count(null), поэтому GetEBS возвращает пустой результат и сохраняет fallback в EC/ShowFull.[ETDR-120] PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in E:\htdocs_master\modules\RSU__call\GetEBS.inc:130
Статус: Сделать | Автор: Галина Арноси