НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.6 >> [I128-2781] Ошибка полного просмотра записи ЭК при инициализации заказов📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.6 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: Нет
Завершено: 31.08.2026 21:18
Проблема: При открытии полного просмотра записи ЭК страница могла завершаться fatal error во время инициализации модуля заказов. Ошибка возникала, когда система пыталась определить доступные места выдачи, но имя базы каталога не было корректно передано во внутренний вызов.
Решение: Полный просмотр записи больше не прерывается из-за отсутствующего имени базы в записи каталога. Для сценария просмотра по mfn используется база из параметра страницы, а при некорректных входных данных модуль заказов возвращает понятную ошибку вместо аварийного завершения.
Технические подробности:
I128-2781: исправление в RQST для release/2026.2. PR устраняет fatal error при полном просмотре записи ЭК, когда инициализация заказов пыталась открыть базу с пустым именем.
Куда смотреть:
?id=EC/ShowFull&irbDb=IBIS&mfn=1 -> полный просмотр записи ЭК. Chrome: подтверждено на ?id=EC/ShowFull&irbDb=IBIS&mfn=1&i128_2781_check=1, экран Полное описание. Было: при пустом поле 1 записи каталога и инициализации RQST мог возникать fatal error i128f::GetDb(null). Стало: страница открывается, база берется из irbDb, пустые входные параметры обрабатываются читаемой ошибкой.RQST и существующая запись ЭК в базе IBIS.IBIS, mfn существующей записи, модуль RQST доступен.release/2026.2.Изменения по файлам:
modules/RQST/__call/Variables.inc
mfn + irbDb: при чтении записи ЭК база сохраняется из параметра страницы, а не берется из поля 1 самой записи.bookdbn, затем irbDb, затем DBIBIS; пустые результаты больше не передаются в расчет мест выдачи.sid и mfn, чтобы инициализация переменных не падала на неполных входных данных.modules/RQST/__call/GetPossibleKv.inc
dbn и bid до вызова i128f::GetDb().902 пропускаются неполные ссылки и неоткрываемые базы, чтобы отдельная плохая связь не приводила к fatal error.modules/RQST/tests/case_insensitive_910_smoke.php
RQST/Variables через mfn + irbDb.1.Разрешение текущих конфликтов подготовлено в PR #1359 (merge/release-2026.2-to-develop-pr1358 -> develop, commit 169484ec3bf1bde29110dd8cd22cf7f5b3fae057). Обе исходные ветки защищены от прямого push; отдельный PR сохраняет направление переноса release → develop. После принятия #1359 следует повторно проверить этот PR на новые изменения релизной ветки.
Перенос всех изменений из release/2026.2, которые ещё не входят в develop.
PR создан после merge #1353: I128-2785: SocketProxy отправляет внутренние HTTPS-запросы на порт 80.
Пока этот PR открыт, последующие изменения release/2026.2 входят в него автоматически. Перед merge требуется проверить полный diff и пройти обычное review.
Перенос накопленных исправлений release/2026.2 в develop с разрешением конфликтов PR #1358.
Обе исходные ветки защищены от прямого push. Отдельная ветка содержит merge текущего release/2026.2 (e402d81e4d2a59c87254ea3bd62fbd805d6bd332) в текущий develop (df8b1a8ee2d35e0cc0c5e776d64cb71f115013e4). Новые функции develop не переносятся обратно в релизную линию. Для принятия изменений используется обычное review; PR #1358 пока остается открытым.
Разрешение конфликтов:
^, в том числе после редактирования повторений через F3. Отложенная синхронизация отменяется перед сохранением.modules/he3/tests/editor_commands_smoke.js. Существующий тест журнала статистики сохраняет путь tools/PagesStatJournalSelfTest.php.Проверки:
await Irbis.he3.testEditorCommands(). Серверное сохранение подменено; пользовательские БД не изменялись.При принятии сохранить merge-коммит и родителя release/2026.2 в истории develop (merge commit или fast-forward).
После принятия этого PR нужно повторно проверить #1358: если в release не появились новые изменения, его перенос будет полностью выполнен. Автоматизация последующих переносов release → develop не изменялась.