НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2657] Сервисы поиска по связи и подсказок словаря в модуле WIrbis📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль WIrbis - Системный модуль
Завершено: 07.07.2026 10:16
Ценность WIrbis должен предоставлять системные сервисы, на которые опираются результаты поиска и расширенный поиск АРМ Читатель.
Сценарий RecList получает параметры сценариев поиска по связи, а словарные подсказки могут возвращать форматируемое описание.
Совместимость Существующие RecList и словарные запросы должны продолжить работать без новых параметров.
-
PR ограничен модулем WIrbis и является technicalonly блокером для последующих ECзадач I128~~2652 и I128~~2653. В этой ветке нет самостоятельного пользовательского экрана: видимое подключение сценариев поиска по связи в результатах EC, Help и скриншоты результата будут проверяться в I128~~2652 / I128~~2197. В этом PR проверяется технический контракт WIrbis action/RecList, который нужен следующей волне.
Куда смотреть:
WIrbis/LinkSearchScenarios, который строит поисковые выражения по SCNT?id=WIrbis&action=LinkSearchScenarios&irbDb=IBIS&mfn=1: HTTP 200, success=true, totalCount=12, в ответе есть сценарии Автор, Заглавие и готовые поисковые выражения. Было: в WIrbis не было общего action, который возвращает сценарии поиска по связи и готовые запросы для выбранной записи. Стало: action возвращает нормализованный JSONtotalCount / RecList / scenarios, который сможет использовать ECI128~~2652 / I128~~2197.origin/develop (895581209) и не должна подтягивать будущую ECI128-2652.Изменения по файлам:
modules/WIrbis/Actions/LinkSearchScenarios.inc
WIA_LinkSearchScenarios принимает irbDb, mfn, опциональный фильтр Name и опциональный список scenarios из клиента.Exec() открывает БД, читает текущую запись, берет сценарии из параметров запроса или из INI и возвращает JSON с totalCount, RecList и scenarios.GetRequestScenarios() поддерживает сценарии как массив или JSON-строку.GetIniScenarios() сохраняет старую цепочку источников настроек: INI базы, INI АРМ, затем modules/Ini/DefaultSearch.ini.ReadScenariosFromIni() читает SCNTNUMB, SCNTNAME**, SCNTFORMAT**, SCNTPREF**, SCNTSUFFIX**, SCNTLOGIC* и приводит значения к UTF-8 через DecodeIniValue().NormalizeScenario() поддерживает новые ключи name/format/pref/suffix/logic, старые Scnt* и подполя A-E.BuildScenarioQuery() форматирует текущую запись, разбивает результат формата на строки, добавляет префикс/суффикс и объединяет термины оператором из LogicOperator().JsonResponse() с JSON*UNESCAPED*UNICODE и JSON*UNESCAPED*SLASHES.modules/WIrbis/Actions/Search/GetDictionItemsWDesc.inc
irbDb и нормализация имени формата..pft, .opt, .fmt по путям 10 и 11; формат с ***** может подставлять tag найденного posting.Format64, inline-содержимое формата и fallback на Format128.Exec() добавлены параметры format и start; при наличии формата действие сначала использует формат из данных термина, затем fallback по найденной записи.format, а display строится из форматированного значения с применением BBCodes; mfn, tag, occ, cnt дополняются из fallback posting, если их нет в исходном ответе словаря.modules/WIrbis/JS/irbis-reclist128.js
ShowLinkSearchScenarios(), который отправляет текущие irbDb, mfn и linkSearchScenarios в новый action LinkSearchScenarios.OpenLinkSearchScenarioWindow(): он строит ExtJS-окно со списком сценариев, показывает имя и поисковый запрос, запускает MakeSearch() по кнопке или двойному клику.iconCls = irb-linksearch; она появляется при showLinkSearchScenarios или наличии linkSearchScenarios и активируется только при выбранной записи.modules/WIrbis/JS/irbis-search.js
WIrbis.DictionType0 параметр format передается в словарный запрос из irbF8For или format.DictionType0 расширен полем format, а колонка терминов показывает форматированное значение и использует его же для tooltip.WIrbis.DictionType1 параметр format передается в Search/GetDictionItemsWDesc, store расширен полем format.DictionType1 получает renderer, который показывает record.get('format'), если сервер вернул форматированное представление.[I128-2652] Сценарии поиска по связи в результатах модуля EC
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2653] Форматируемые подсказки словаря в расширенном поиске модуля EC
Статус: Завершено | Автор: Ilya Mikhaylenko