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
I128~~2385 - Недоступность функций выгрузки и обновления в сводном каталоге для записей Читателей, Мероприятий и других специальных типов
I128~~2400 - Аварийное завершение рассылки ИРИ при выполнении из очереди задач
I128~~2401 - Сброс формата отображения записей (fmttype) при использовании интерфейса Bootstrap 5
I128~~2404 - Оптимизация алгоритма загрузки файлов в модуле J-Irbis 2
I128~~2409 - Оптимизация процесса получения информации об организации
I128~~2428 - Накопление служебных файлов в папке i128Data/Flags после выполнения фоновых задач
I128~~2429 - Исправление ошибки 404 при отправке письма о продлении в АРМ Книговыдача
I128~~2430 - Открытие неверного формуляра читателя после выполнения заявки на продление
-
I128~~2246 Утечка дескриптора файла в Actions/ToolBar/VisitFree
I128~~2247 Некорректный текст сообщения об ошибке в Actions/Toolbar/VisitFree файла
I128~~2248 Утечка дескриптора файла в Actions/ToolBar/OpenFund
I128~~2249 Некорректный текст сообщения об ошибке в Actions/Toolbar/OpenFund о блокировке файла
I128~~2250 Общая функция бронирования BookBrone по умолчанию использует статус, предназначенный для специфической операции «Возврат на бронеполку» (ReturnandBRStatus), вместо общего статуса бронирования по умолчанию (BRDefaultStatus)
I128~~2251 Логическая ошибка при расчете пени в GetKvList
I128~~2252 Неполная проверка корректности результата вызова Authorisation::AuthLDAP в функциях Bookland::SetCurRdrAppByMfn и Bookland::SetCurRdrAppBySearch
Bookland: Рефакторинг, исправление ошибок JS и оптимизация логики
PHP: Убраны избыточные вызовы CheckProfile во внешних функциях.
PHP: В BookTable/Prodl добавлена проверка strongprodl (строгое продление по месту выдачи).
PHP: Оптимизирован код выборки экземпляров в OccDupWindow/BookDupWindow (убрано дублирование).
PHP: Исправлен расчет макс. штрафа в GetKvList.
PHP: Исправлена работа с блокировками файлов в OpenFund/VisitFree.
PHP: Заменен дефолтный статус бронирования на BRDefaultStatus.
JS: Исправлена опечатка в экшене 'Bokland' -> 'Bookland' (rINPASP).
JS: Исправлен баг парсинга переменных в RFID провайдере (idlogic).
JS: Параметр rqst_mfn переименован в rqstMfn.
Bookland: Исправление списания 'U', оптимизация выдачи/возврата и контекст сессии
Основные изменения
Исправление логики списания и статусов (Bookland):
TransformBookOccAsLost.inc: Исправлена ошибка при списании части экземпляров совокупного учета (статус U). Теперь, если списывается более одного экземпляра (например, 5 учебников из партии), в новой записи корректно проставляется количество (^1). Ранее подполе удалялось, что системой воспринималось как 1 экземпляр.
Store.inc (BookDupWindow): Добавлено явное приведение типов к int при расчете свободных экземпляров для статуса U. Оптимизирован цикл перебора: статус и штрихкоды теперь запрашиваются один раз для каждого экземпляра.
Управление контекстом сессии и UI:
TransformRdrOccAsReturn.inc: Добавлена логика сохранения номера обработанного повторения в контекст сессии (BooklandLastManagedOccs). Это исправляет проблему, когда возвращенная книга могла не подсвечиваться в интерфейсе или не попадать в квитанцию текущей операции.
TransformRdrAppendBookland.inc: Добавлены подробные комментарии о назначении контекста сессии.
Оптимизация производительности и рефакторинг:
TransformRdrAppendBookland.inc: Оптимизирован процесс выдачи. В цикле добавления записей теперь используется возвращаемое значение метода FieldAdd (сразу получаем номер повторения), вместо повторного обращения к записи через GetFieldOcc. Упрощена логика выбора штрихкода (приоритет основного, затем RFID/альтернативного).
TransformBookOccAsReturn.inc, TransformBookOccAsBrone.inc: Устранены множественные вызовы GetSubField для одних и тех же полей. Код приведен к единому стилю (добавлены фигурные скобки, использованы elseif).
Повышение надежности (LDAP):
SetCurRdrAppByMfn.inc, SetCurRdrAppBySearch.inc: Усилена проверка результата авторизации через LDAP. Теперь перед сохранением данных проверяется не только флаг ошибки, но и корректность возвращенного объекта читателя. Добавлена проверка на null при поиске по MFN.
Исправлена логика трансформации вхождений при возврате в Bookland
-
There was a merge conflict automatically merging this branch