НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2089] АРМ Книговыдача 128. Возможность выбора бд ЭК для выдачи из настроек АРМА📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Bookland - АРМ Книговыдача
Завершено: 10.07.2026 00:22
Ценность
Библиотекарь может выбрать рабочую БД ЭК для выдачи в пользовательских настройках АРМ, не создавая отдельный профиль книговыдачи для каждой БД и не меняя глобальную БД изданий.
Сценарий
В профиль Bookland добавлена настройка дополнительных БД ЭК для выдачи. При открытии АРМ список выбора строится из defaultdb и дополнительных БД профиля, но дополнительные БД показываются только при наличии права VIEW на соответствующую запись Database. Если доступных дополнительных БД нет, поле выбора БД в форме «Настройки» не отображается. Выбранная БД сохраняется в пользовательском контексте и применяется к выдаче без заказа, вводу штрих-кода и поиску издания без явно указанной БД ЭК.
Совместимость
Если пользователь не выбирал БД ЭК или сохраненная БД больше недоступна по профилю/правам, АРМ работает как раньше и берет defaultdb из профиля. Заказы, возвраты и уже оформленные выдачи с явно записанной БД ЭК продолжают использовать свою БД. Миграция данных не требуется.
-
I128-2089 добавляет в модуль Bookland выбор БД ЭК для выдачи из формы «Настройки» АРМ Книговыдача. Граница PR - профильная настройка дополнительных БД, проверка права VIEW, пользовательский контекст выбора и обновление Help. Ветка содержит актуальный origin/develop (7f3a2ab9) и не зависит от других PR.
Куда смотреть:
?id=Bookland -> форма «Настройки» в АРМ Книговыдача. Chrome: подтверждено на ?id=Bookland. Было: рабочая БД изданий бралась только из профильного defaultdb, а библиотекарь не мог выбрать другую разрешенную БД ЭК в сеансе. Стало: если профиль содержит доступные дополнительные БД, в форме появляется поле «БД ЭК для выдачи»; выбранная БД сохраняется в пользовательском контексте и переключает поиск/выдачу без заказа.1/1; для тестового профиля Bookland использован defaultdb=IBIS, в список дополнительных БД ЭК добавлена RSL. После изменения профильной настройки очищен веб-кэш через ?id=Admin/ShowCacheState&clear=1, потому что до очистки оставался старый ModuleOpts/Bookland без поля 246.modules/Bookland/Help/Interface/img/bookland~~settings~~panel.png; Help-страницы с описанием настройки обновлены в modules/Bookland/Help/AdminGuide.md и modules/Bookland/Help/Interface/Settings.md.1/1, АРМ Книговыдача, профиль Bookland с defaultdb=IBIS; для появления селектора нужна хотя бы одна дополнительная БД из issueDbList, на запись Database которой у пользователя есть право VIEW.?id=Help/Show&m=Bookland/AdminGuide и ?id=Help/Show&m=Bookland/Interface/Settings, включая screenshot формы настроек.develop, зависимости отсутствуют; можно переключаться прямо на PRИзменения по файлам:
modules/Bookland/api.php
Database, фильтрация дополнительных БД по праву VIEW и подготовка списка для клиента.BooklandIssueDb поверх профильного defaultdb; недоступный сохраненный выбор очищается и возвращает АРМ к defaultdb.modules/Bookland/Actions/SetIssueDb.inc
WIA*Bookland*SetIssueDb, метод Exec(), проверка профиля, нормализация bookDbName, проверка IsIssueDbAllowed() и сохранение через Users->SaveARMContext().GetDbBook(), становится текущей defaultdb; БД вне профильного/правового списка возвращает ошибку Bookland.modules/Bookland/__call/ApplyGeneralVariablesConfig.inc
issueDbList как MultyOcc поля 246 со ссылками на записи Database.VIEW.modules/Bookland/__call/Show.inc
WIrbis.B.ARM передаются i128fdb, issueDbList и issueDbSelectorVisible.defaultdb после применения профиля и контекста.modules/Bookland/JS/irbis~~b~~arm.js
issueDbList, признак видимости селектора и добавляет setBookDb() для переключения bookdb, defaultDb, SearchPanelBooks и RFID-контекста.WIrbis.B.Qsets получает текущую БД и список разрешенных БД.modules/Bookland/JS/irbis~~b~~qsets.js
ComboBox «БД ЭК для выдачи», который создается только при наличии доступных дополнительных БД.Bookland/SetIssueDb; при ошибке значение откатывается и сообщение обрабатывается штатным ProcessActionResult().modules/Bookland/Help/AdminGuide.md
issueDbList и правило фильтрации по VIEW.modules/Bookland/Help/Interface/Settings.md
modules/Bookland/Help/Interface/img/bookland~~settings~~panel.png