НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2 >> [I128-2228] Функционал обработки заявок на продление срока пользования экземпляром издания читателем📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.2 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Bookland - АРМ Книговыдача
Завершено: 07.03.2026 21:15
1. Интерфейс
В интерфейс АРМа добавлена вкладка "Продление" (при условии включенной настройки isbroneallow):

image-2026-03-06-21-15-54-074.png
Интерфейс предназначен для сотрудников библиотеки и позволяет просматривать, обрабатывать, одобрять и отклонять заявки от читателей на продление срока пользования книгами.
Основным элементом является таблица, в которой отображаются необработанные заявки на продление. Каждая строка в таблице представляет одну заявку и содержит следующие колонки:
Свободных экземпляров: Показывает количество свободных экземпляров данного издания.
Шифр: Шифр издания в библиотеке.
Продлить до: Дата, до которой читатель просит продлить пользование.
Описание издания: Краткое библиографическое описание книги.
Дата заявки: Дата, когда была подана заявка.
Идентификатор пользователя: Уникальный идентификатор читателя.
Пользователь: ФИО или другое краткое представление читателя.
Примечание пользователя: Дополнительный комментарий от читателя к заявке.
БД: База данных, в которой находится описание издания.
Над таблицей расположена панель с кнопками для выполнения основных действий:
irb-edit (иконка редактирования).
Подсказка: "Редактировать текущую запись".
Функционал: При нажатии открывается окно редактора текущей записи заявки.irb-print (иконка печати).
Подсказка: "Списки...".
Функционал: При нажатии открывается окно печати списка записей с возможностью выбора формата печати.irb-print (иконка печати).
Подсказка: "Таблицы...".
Функционал: При нажатии открывается окно печати выходных форм с возможностью выбора формы.irb-stat (иконка статистики).
Подсказка: "Статистические формы...".
Функционал: При нажатии открывается окно печати статистических форм с возможностью выбора формы.{}irb-rqstexec{}.
Подсказка: "Выполнить заказ".
Функционал: Одобряет заявку и выполняет операцию продления в системе.
image-2026-03-06-21-47-24-122.png
Показать информацию о читателе:
Иконка: {}irb-usrlist{}.
Подсказка: "Показать информацию о читателе".
Функционал: Открывает карточку с подробной информацией о читателе, подавшем заявку.
Показать информацию об издании:
Иконка: {}irb-booklist{}.
Подсказка: "Показать информацию об издании".
Функционал: Открывает карточку с полной библиографической информацией о заказанном издании.
Примечание к заказу:
Иконка: {}irb-info{}.
Подсказка: "Примечание к заказу".
Функционал: Позволяет просмотреть примечание, оставленное пользователем.
{}Кнопка "Отказать"{}:
Иконка: irb-rqstdecline (иконка отказа).
Подсказка: "Отказать читателю в продлении издания".
Функционал: При нажатии открывается выпадающее меню со списком стандартных причин отказа (например, "Издание пользуется повышенным спросом"). Выбор причины приводит к отклонению заявки.
{}Кнопка "Выполненные заказы"{}:
Иконка: irb~~cart~~check (иконка выполненной корзины).
Подсказка: "Выполненные заказы".
Функционал: Открывает новое окно со списком всех ранее одобренных заявок на продление.
{}Кнопка "Отказы"{}:
Иконка: irb~~cart~~x (иконка корзины с крестиком).
Подсказка: "Отказы".
Функционал: Открывает новое окно со списком всех ранее отклоненных заявок.
Интерфейс также включает два отдельных окна для просмотра истории обработки заявок:

image-2026-03-06-21-50-41-946.png
{}RQST{}, соответствующие условию: статус «Выполнен» ({}I=1{}) и тип заявки «Продление» ({}RQSTT=prolongation{}).
** Структура таблицы (Колонки)
***** Таблица содержит следующие столбцы с информацией о выполненных заявках:** Дополнительные возможности
* Так как компонент таблицы наследуется от WIrbis.RecListPanel128 и в конфигурации указаны соответствующие флаги, в этом окне также доступны:
** Печать: Кнопка для печати списка записей ({}showPrintRecs: true{}).
** Статистика: Возможность построения статистических форм по отображаемым данным ({}showStatForms: true{}).
** Сортировка: Возможность сортировки данных по клику на заголовок любого столбца.
{}Окно "Отказы"{}: Таблица с отклоненными заявками, где дополнительно указываются причина отказа, дата отказа и ответственное лицо. Интерфейс окна «Отказы» представляет собой модальное окно, содержащее таблицу с историей отклоненных заявок на продление.
Общие характеристики окна
Заголовок: «Отказы».
Тип: Модальное окно (блокирует работу с основным интерфейсом до закрытия).
Размер: По умолчанию 700x410 пикселей, окно можно развернуть на весь экран (Maximizable).
Фильтрация данных: В таблице отображаются записи из базы данных {}RQST{}, соответствующие условию: статус «Отказ» ({}I=3{}) и тип заявки «Продление» ({}RQSTT=prolongation{}).
Структура таблицы (Колонки)
***** Таблица содержит следующие столбцы с информацией об отклоненных заявках:
Дополнительные возможности
* Аналогично окну выполненных заказов, компонент наследуется от {}WIrbis.RecListPanel128{}, поэтому доступны:
** Печать: Кнопка для печати списка записей ({}showPrintRecs: true{}).
** Статистика: Возможность построения статистических форм по отображаемым данным ({}showStatForms: true{}).
** Сортировка: Возможность сортировки данных по клику на заголовок любого столбца.
Добавлена новая таблица WIrbis.B.RqstProlongationTable для отображения списка заявок на продление (фильтр RQSTT=prolongation).
Добавлено модальное окно WIrbis.B.RqstProlongationWindow для обработки заявки библиотекарем (выбор новой даты возврата).
В интерфейс АРМа добавлена вкладка "Продление" (при условии включенной настройки isbroneallow).
Скорректированы поисковые запросы в таблицах обычных заказов (RqstTable) и бронирования (Rqstbrtb), чтобы исключить из них заявки на продление.
Зарегистрированы новые JS-файлы в WIrbis/api.php.
Реализован новый Action RqstExecProlongation для выполнения продления.
Обновлена функция Prodl (__call/Prodl.inc): Добавлена поддержка привязки к записи заявки ($rqstRec). Реализовано удаление признака запроса из записи читателя после выполнения. Исправлен расчет даты возврата (использование strtotime для корректной работы с переходом месяцев/лет). Добавлена блокировка файла (flock) при обновлении статистики.
В стандартный RqstExec добавлено исключение ExceptionBooklandRqstExec_IsProlongation, которое перехватывает попытку выполнить продление как обычный заказ и открывает соответствующее окно.
Добавлена функция Bookland::GetRdrOccByRqst для поиска экземпляра у читателя по данным из заявки.
-
I128~~2223 Функция Bookland::GetDbBookByRdrOcc(ObjectDataRecord $rdrRec, int $rdrOcc): ObjectDataDatabase I128~~2224 Новый раздел настроек АРМ Книговыдача "Настройка подсистемы заявок на продление срока пользования изданием" I128~~2225 Новый Action RQST/GetRqstProlongationForm: Возвращает HTML-форму для модального окна продления I128~~2226 Новый Action RQST/CreateRequestProlongationBS: Обрабатывает логику создания заявки на продление (валидация дат, обновление записи читателя, создание записи в БД заказов) I128~~2227 Возможность для читателей в разделе "Книги на руках" сформировать заявку на продление срока пользования экземпляром издания I128~~2228 Функционал обработки заявок на продление срока пользования экземпляром издания читателем
Добавлена функция Bookland::GetDbBookByRdrOcc(ObjectDataRecord $rdrRec, int $rdrOcc): ObjectDataDatabase
Оптимизация GetDbBookByRdrOcc.inc
Добавлена настройка подсистемы заявок на продление в Bookland
В модуль Bookland добавлены конфигурационные параметры для управления подсистемой заявок на продление срока пользования изданиями.
Основные изменения:
ApplyGeneralVariablesConfig.inc добавлен новый раздел настроек "Настройка подсистемы заявок на продление срока пользования изданием".isprolongationallow), отправки уведомлений на email (isprolongationmail), настройки фильтрации, пагинации и форматов отображения.rdrdelimprolongation) и даты заявки на продление (rdrdelimreturndaterequest).api.php обновлен класс BooklandAnswer: добавлены новые свойства в PHPDoc и уточнены сигнатуры методов работы с БД.Bookland: уточнение типов возвращаемых значений и исправление обработки тега шифра
Реализована функциональность продления книг и рефакторинг подсистемы заказов (RQST)
Подсистема заказов (RQST):
Кабинет читателя и История чтения (Users):
АРМ Читатель (EC):
Изменения касаются реализации функционала заявок на продление книг в модуле АРМ Книговыдача (Bookland) и Кабинете читателя.
Функционал продления:
Рефакторинг и оптимизация:
Исправление ошибок:
Форматы:
[I128-2229] Функционал обработки заявок на продление срока пользования экземпляром издания читателем
Статус: Открытая задача | Автор: Ilya Mikhaylenko