Компоненты: ИРБИС 128. Модуль Iri - Избирательная рассылка информации Завершено: 18.06.2026 11:59
Проблема:
При автоматической рассылке ИРИ задача Iri/Send, запущенная из очереди, могла аварийно завершиться, если поиск читателей возвращал ошибку или пустой результат в виде кода ошибки. В этом случае очередь не получала управляемый результат выполнения.
Решение:
Рассылка ИРИ теперь обрабатывает ошибку поиска читателей как штатную ошибку action и возвращает ее в очередь задач. Пустой список читателей считается корректным нулевым результатом, а дата последней рассылки обновляется только после полного успешного выполнения.
Технические подробности:
В modules/Iri/Actions/Send.inc добавлена проверка результата i128f::ForEachRecord перед обращением к статистике рассылки. Также обработан возврат false из SetProgress, чтобы прерванный обход не продолжал выполнение и не сохранял дату последней рассылки.
-
АРМ Каталогизатор ИРБИС64 Турбо Windows
1.1. Исправление ошибок
I128~~2342 Функционал полнотекстового поиска в АРМ Каталогизатор
ИРБИС 128. Модуль Admin - АРМ Администратор
2.1. Новые возможности
I128~~2079 Новые виды поиска в панели администрирования модуля Виртуальные выставки
I128~~2224 Новый раздел настроек АРМ Книговыдача "Настройка подсистемы заявок на продление срока пользования изданием"
I128~~2257 Новая страница Admin/ShowCacheState для визуального мониторинга подсистемы кеширования.
I128~~2298 Новая страница Admin/ClearObjectDataFolder
ИРБИС 128. Модуль Authorisation - Авторизация пользователей
3.1. Исправление ошибок
I128~~2325 Дублирование записей читателей при логине по SSO при включенном параметре AllowLDAPCreateNew
ИРБИС 128. Модуль Bookland - АРМ Книговыдача
4.1. Исправление ошибок
I128~~2326 Bookland::GetRdrOcc неявно проверяет требования к возврату экземпляра
I128~~2331 Некорректная работа вкладки ЭДД
4.2. Новые возможности
I128~~2209 Подсистема управления заявками на продление срока возврата издания пользователем
I128~~2223 Функция Bookland::GetDbBookByRdrOcc(ObjectDataRecord $rdrRec, int $rdrOcc): ObjectDataDatabase
I128~~2228 Функционал обработки заявок на продление срока пользования экземпляром издания читателем
I128~~2390 Улучшение пользовательского опыта при работе с кнопкой "Блокировать" (Блокировка возможности книговыдачи для читателя)
I128~~2391 Автоматический выбор экземпляра при поиске по инвентарному номеру или штрих-коду в окне «Выдача без заказа»
ИРБИС 128. Модуль Cataloguer - АРМ Каталогизатор
5.1. Новые возможности
I128~~2199 Смена обращения к модулю Ini с UseModule('Ini') на Ini::getInstance и проверка корректности вызова всех функций модуля
ИРБИС 128. Модуль Complectator - АРМ Комплектатор
6.1. Документация
I128~~2324 Инвентаризация и проверка фонда
6.2. Новые возможности
I128~~2322 Инвентаризация и проверка фонда
ИРБИС 128. Модуль CSpider - Сводный каталог
7.1. Новые возможности
I128~~2369 Интерактивные ссылки для статей и номеров журналов в таблице слияний CSpider/LinkDbInfo
ИРБИС 128. Модуль Database - Управление базами данных
8.1. Новые возможности
I128~~1795 Редактор схемы БД
I128~~2155 Поддержка Database::getInstance
ИРБИС 128. Модуль DP_Irbis64Native - Нативный провайдер данных к файлам СУБД ИРБИС 64/64+
9.1. Новые возможности
I128~~1271 Новый провайдер данных DP_Irbis64Native - нативная (на PHP) реализация доступа к БД ИРБИС 64
ИРБИС 128. Модуль DP_webirb - Провайдер данных к Web-ИРБИС 32, 64, 64+
10.1. Новые возможности
I128~~2386 Фильтрация словаря поисковым запросом на основе настроек базы данных
ИРБИС 128. Модуль EC - АРМ Читатель
11.1. Новые возможности
I128~~2227 Возможность для читателей в разделе "Книги на руках" сформировать заявку на продление срока пользования экземпляром издания
I128~~2285 Скорректирован вывод экземпляров: теперь не отображаются сведения об отсутствии экземпляров в полном просмотре номера журнала, если это описание содержит поле 902
ИРБИС 128. Модуль Format - Подсистема форматирования записей ИРБИС 128
12.1. Новые возможности
I128~~2119 Поддержка динамической генерации и вывода штрихкодов (поддержка ИРБИС-ссылок вида IRBIS:!!!!)
I128~~2339 Нативный форматер ИРБИС 128
ИРБИС 128. Модуль he3 - Табличная форма ввода данных
13.1. Новые возможности
I128~~2258 Новый редактор записей ИРБИС (he3)
ИРБИС 128. Модуль Help - Помощь
14.1. Новые возможности
I128~~2274 Экспорт страницы помощи в DOCX
ИРБИС 128. Модуль Organisations - Организации
15.1. Новые возможности
I128~~2356 Расширенный поиск организаций по географическому признаку
ИРБИС 128. Модуль Pages - Страницы сайта
16.1. Новые возможности
I128~~2418 Возможность устанавливать права доступа и иерархию страниц модулей ?id=ModuleName/PageName
ИРБИС 128. Модуль Periodicals - АРМ Подписка
17.1. Новые возможности
I128~~2419 Подсистема заявок о потребности в подписке
ИРБИС 128. Модуль Queue - Очередь задач
18.1. Документация
I128~~2321 Документация для модуля «Очередь задач» (Queue)
18.2. Новые возможности
I128~~2256 Оптимизация производительности модуля Queue через кэширование и рефакторинг
I128~~2318 Поддержка отображения прогресса cli-задач на основе анализа логов
I128~~2370 Явное управление состоянием паузы в очереди задач
ИРБИС 128. Модуль Record - Запись ИРБИС
19.1. Новые возможности
I128~~2255 Отказ от медленного файлового кеширования (GetSidFile/SetSidFile) класса Record
ИРБИС 128. Модуль RQST - Подсистема заказа изданий
20.1. Новые возможности
I128~~2226 Новый Action RQST/CreateRequestProlongationBS: Обрабатывает логику создания заявки на продление (валидация дат, обновление записи читателя, создание записи в БД заказов)
ИРБИС 128. Модуль RSU - Сетевые удаленные ресурсы
21.1. Новые возможности
I128~~2093 Страница "Управление ресурсами удаленного доступа" и новая функция для показа удаленных ресурсов
ИРБИС 128. Модуль Users - Управление пользователями
22.1. Исправление ошибок
I128~~2289 Исправление опечаток в скрипте корректировки читателя в АРМ Регистратор
ИРБИС 128. Модуль WIrbis - Системный модуль
23.1. Новые возможности
I128~~2402 на кнопку корректировки назначен двойной клик который открывает полный формат просмотра. а не корректирует запись
Комплексное решение АБИС ИРБИС64/128
24.1. Документация
I128~~2431 Приведение Help-документации к целостному состоянию
24.2. Новые возможности
I128~~1400 Сортировка результатов поиска в АРМ Каталогизатор
I128~~1659 Новый мастер установки системы
I128~~2253 Многоуровневое кеширование
I128~~2254 Полный рефакторинг хранения сессий
Комплексное решение Электронная библиотека ИРБИС64/128
25.1. Документация
I128~~2315 Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя.
25.2. Исправление ошибок
I128~~2243 При наличии одинарной кавычки в кратком описании просмотрщик выдает ошибку
25.3. Новые возможности
I128~~2092 Создать страницу в модуле "Страницы сайта" для доступа к системной странице "Управление контентом электронной библиотеки"
I128~~2300 Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя.
I128~~2301 Интеграция подсистемы транскрибации в модуль FT и добавление локального распознавания через Whisper
Технологическое обеспечение системы ИРБИС 64/128
26.1. Исправление ошибок
I128~~2351 Фиктивная форма ListInvKSUGEN в списке выходных форм каталога
-
Версия 2026.2
-
При автоматической рассылке ИРИ задача Iri/Send, запущенная из очереди, аварийно завершалась (PHP fatal error), если поиск читателей через i128f::ForEachRecord возвращал ошибку или пустой результат (в виде целочисленного кода, например -120). Метод пытался работать с числовым кодом ошибки как с массивом. В результате очередь не получала управляемый статус завершения. Кроме того, игнорировалось прерывание выполнения задачи через очередь, а некорректные входные данные для дат могли ломать логику выборки.
В WIAIriSend::Exec добавлена строгая проверка типа результата метода ForEachRecord:
Отсутствие читателей (код -120) теперь корректно обрабатывается как штатный нулевой результат (totalcount = 0), а не как ошибка системы.
При возникновении других ошибок чтения или поиска формируется управляемый возврат через JsonError с расшифровкой кода ошибки. Теперь задача корректно переходит в статус ошибки в очереди.
В обработчике fe_readers добавлена реакция на возврат false от метода SetProgress(). Если выполнение прервано (например, из-за паузы/остановки очереди), обход немедленно прекращается (флаг aborted = true), а дата последней рассылки не обновляется.
Добавлена безопасная нормализация параметров дат (ibisdatelast и ibisdateshift): предусмотрено приведение типов (распаковка из массива через reset, приведение к строке/числу), удаление нечисловых символов и защита от некорректной длины строки, что предотвращает ошибки в mktime.
-
There was a merge conflict automatically merging this branch
-
Исправление ошибок
I128~~1870 - Установщик 128 не проверяет, есть ли у веб-сервера права на запись в директории, в которых он создает папки i128data и objects и файлы, а также на директорию сервера 64
I128~~2382 - PHP Fatal error: Uncaught TypeError: substr(): Argument #1 ($string) must be of type string, array given in modules/Format/__call/Fmt.inc:81