Меню


[I128-2870] Complectator/ProvFondReport учитывает не все проверенные экземпляры фонда


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2870] Complectator/ProvFondReport учитывает не все проверенные экземпляры фонда📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.3 🔘 Завершено Средний Unassigned

Компоненты: ИРБИС 128. Модуль Complectator - АРМ Комплектатор

Завершено: 14.09.2026 14:27

Проблема обнаружена при разборе IBK-484.

Симптом В отчете Complectator/ProvFondReport отображаются не все проверенные записи и экземпляры фонда. На больших базах в результатах проверки ожидаются десятки и сотни тысяч записей/экземпляров, но отчет может останавливаться после первой неполной порции.

Причина Страница запрашивает найденные записи порциями по 5000, но провайдер DPIrbis64Direct может внутренне ограничивать размер возвращаемой порции параметром MAXPOSTINGSINPACKETWITHFORMAT. При возврате, например, 2000 записей старый цикл считал выборку завершенной, потому что сравнивал фактически полученное количество с запрошенным лимитом 5000.

Дополнительно отчет строил первичную выборку только по MHR=. Проверка фонда сохраняет фактическое место хранения в настраиваемое подполе checkFondMhrSubfield, для которого используется индекс INPF=. Из-за этого уже проверенные экземпляры могли не попадать в первичную выборку, если их фактическое место хранения не индексировалось через MHR=.

Ожидаемое поведение ProvFondReport должен дочитывать всю найденную выборку независимо от внутреннего ограничения провайдера и учитывать экземпляры, найденные как по MHR=, так и по INPF=, без дублирования записей.

Решение Исправить постраничное чтение в ProvFondReport: увеличивать смещение на фактически полученное число записей и останавливаться только после достижения общего количества найденных записей. Расширить поисковое выражение места хранения на MHR= + INPF= и дедублировать MFN, найденные по обоим префиксам. Обновить справку администратора по индексам MHR=/INPF= и большим выборкам.

Связь с IBK Задача закрывает upstreamпричину проблемы, выявленной в IBK484.

-

I1282870 (Jira: https://jira.irbis128.ru/browse/I1282870) исправляет неполную выдачу отчета Complectator/ProvFondReport на больших выборках проверенных экземпляров.

Куда смотреть:

Изменения по файлам:

modules/Complectator/Pages/ProvFondReport.page

modules/Complectator/Help/AdminGuide/CheckFondForm.md

Проверки:

1. Связанные задачи

1.1. 🔗 blocks: IBK-484

[IBK-484] Инвентаризация Статус: Готово | Автор: Ирина Михайленко