НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.6 >> [I128-2848] Метод ввода в табличном редакторе he3 не открывается двойным щелчком по значению поля📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.6 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Cataloguer - АРМ Каталогизатор, ИРБИС 128. Модуль he3 - Табличная форма ввода данных
Завершено: 09.09.2026 19:52
Проблема:
В табличном редакторе he3 двойной щелчок по полю с настроенным методом ввода мог только перевести ячейку в inline-редактирование и не открыть окно выбора или редактирования. Пользователю приходилось нажимать кнопку-триггер в ячейке или использовать клавишу F2.
Решение:
Двойной щелчок по строке поля или активному полю значения теперь вызывает тот же метод ввода, что кнопка-триггер и клавиша F2. Поведение обычных текстовых полей без отдельного метода ввода не меняется.
Технические подробности:
В he3 добавлен общий вызов trigger-редактора для grid-ячейки, обработчик celldblclick в основной таблице редактора, окне WSS-подполей и динамическом WSS-окне, а также обработчик double-click на самом Ext.form.TriggerField для сценария clicksToEdit: 1. Документация и запись What's new обновлены.
I128-2848 исправляет пользовательский сценарий табличного редактора he3 в ветке release/2026.2: двойной щелчок по полю с trigger-методом ввода теперь открывает тот же инструмент ввода, что кнопка-триггер и F2, а не ограничивается простым переходом в inline-редактирование. Изменение не меняет серверный контракт WS/WSS и данные записей.
Куда смотреть:
?id=Cataloguer -> профиль Каталогизатора с editorType=he3 -> открыть запись с полем, у которого метод ввода представлен trigger-виджетом -> дважды щелкнуть строку поля или активное inline-поле значения. Chrome: не подтверждено: локальная страница ?id=Cataloguer без авторизованной сессии возвращает форму Authorisation/Login; статические JS и Help подтверждены HTTP-readback. Было: двойной щелчок мог только перевести ячейку в inline-редактирование и не открыть инструмент ввода, работали только кнопка-триггер и F2. Стало: двойной щелчок вызывает тот же метод ввода, что F2.editorType=he3, и поле рабочего листа с InMode, который мапится в trigger-виджет (dictionary, tree, textarea, authority, thesaurus, file, dyn_dict, dyn_input, ai или WSS). Источник настройки: modules/Cataloguer/__call/ApplyGeneralVariablesConfig.inc, переменная editorType, поле 701, подполе X.?id=Cataloguer.bugfix/I128-2848, target release/2026.2; использовать АРМ Каталогизатор, профиль с he3, запись с trigger-методом ввода в рабочем листе.?id=Help/Show&m=he3/UserGuide, ?id=Help/Show&m=he3/Widgets, ?id=Help/Show&m=he3/Subfields, ?id=Help/Show&m=Help/GeneralDescription/WhatsNew/I128/TaskInfo/I128-2848/README.Изменения по файлам:
modules/he3/JS/he3.core.js
Irbis.he3.openGridInputMethod(): он находит колонку value, синхронизирует selection grid-ячейки и вызывает onTriggerClick() только у trigger-редакторов.Irbis.he3.openSelectedGridInputMethod() и Irbis.he3.bindInputMethodDblClick(): они покрывают случай clicksToEdit: 1, когда первый клик уже открыл inline-редактор, а второй клик попадает в активный Ext.form.TriggerField.onF2Key переведен на общий helper, чтобы клавиатурный и mouse-сценарий использовали один путь открытия метода ввода.he3 обработчик celldblclick теперь не перехватывает только колонку Повт.; для Метка/Поле/Значение он открывает метод ввода через колонку value, как F2.modules/he3/JS/SubfieldWindow.js
celldblclick для вызова метода ввода текущего подполя.onF2Key и double-click для подпольных окон используют общий helper из he3.core.js; double-click по служебным колонкам подполя перенаправляется в значение.modules/he3/Help/UserGuide.md
F2 или trigger-кнопкой.modules/he3/Help/Widgets.md
modules/he3/Help/Subfields.md
modules/Help/Help/GeneralDescription/WhatsNew/I128/2026.2.6.md
2026.2.6 добавлена ссылка на задачу I128-2848 в разделе модуля he3.modules/Help/Help/GeneralDescription/WhatsNew/I128/TaskInfo/I128-2848/README.md
What's new.Разрешение текущих конфликтов подготовлено в PR #1359 (merge/release-2026.2-to-develop-pr1358 -> develop, commit 169484ec3bf1bde29110dd8cd22cf7f5b3fae057). Обе исходные ветки защищены от прямого push; отдельный PR сохраняет направление переноса release → develop. После принятия #1359 следует повторно проверить этот PR на новые изменения релизной ветки.
Перенос всех изменений из release/2026.2, которые ещё не входят в develop.
PR создан после merge #1353: I128-2785: SocketProxy отправляет внутренние HTTPS-запросы на порт 80.
Пока этот PR открыт, последующие изменения release/2026.2 входят в него автоматически. Перед merge требуется проверить полный diff и пройти обычное review.
Перенос накопленных исправлений release/2026.2 в develop с разрешением конфликтов PR #1358.
Обе исходные ветки защищены от прямого push. Отдельная ветка содержит merge текущего release/2026.2 (e402d81e4d2a59c87254ea3bd62fbd805d6bd332) в текущий develop (df8b1a8ee2d35e0cc0c5e776d64cb71f115013e4). Новые функции develop не переносятся обратно в релизную линию. Для принятия изменений используется обычное review; PR #1358 пока остается открытым.
Разрешение конфликтов:
^, в том числе после редактирования повторений через F3. Отложенная синхронизация отменяется перед сохранением.modules/he3/tests/editor_commands_smoke.js. Существующий тест журнала статистики сохраняет путь tools/PagesStatJournalSelfTest.php.Проверки:
await Irbis.he3.testEditorCommands(). Серверное сохранение подменено; пользовательские БД не изменялись.При принятии сохранить merge-коммит и родителя release/2026.2 в истории develop (merge commit или fast-forward).
После принятия этого PR нужно повторно проверить #1358: если в release не появились новые изменения, его перенос будет полностью выполнен. Автоматизация последующих переносов release → develop не изменялась.