НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.6 >> [I128-2849] Горячая клавиша F3 не открывает таблицу повторений в редакторе he3📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.2.6 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Cataloguer - АРМ Каталогизатор, ИРБИС 128. Модуль he3 - Табличная форма ввода данных
Завершено: 09.09.2026 23:01
Проблема:
В табличном редакторе he3 горячая клавиша F3 не обрабатывалась. Пользователь мог добавлять и удалять отдельные повторения через Ctrl+Down, Ctrl+Up и Ctrl+Delete, но не мог открыть табличный инструмент редактирования всех повторений выбранного поля, который доступен в классическом редакторе.
Решение:
Для повторяемого поля клавиша F3 теперь открывает табличный редактор повторений. После нажатия Ок изменения из таблицы применяются к текущему черновику he3, обновляют строки редактора и синхронизируются с серверным черновиком.
Технические подробности:
В he3 добавлен общий обработчик клавиши F3, вызов WIrbis.OccEditor для выбранного повторяемого поля и применение результата обратно в recordData. В he2/GetOccForEditor добавлен необязательный параметр recordData, чтобы редактор повторений мог загрузить актуальное состояние черновика he3; старые вызовы из he2 продолжают использовать сессионный кэш редактора.
I128-2849 (Jira: https://jira.irbis128.ru/browse/I128-2849) исправляет обработку клавиши F3 в табличном редакторе he3. Ветка создана от release/2026.2; PR затрагивает клиентский обработчик клавиш, загрузку таблицы повторений и справку.
Куда смотреть:
editorType=he3, выбрать повторяемое поле рабочего листа и нажать F3. Chrome: подтверждено на относительном URL ?id=WIrbis&action=he3/Show&dbName=IBIS&mfn=1, поле 907: открыт WIrbis.OccEditor, выбранная строка подсвечивает колонку # единым фоном (cellBgImage=none, innerColor=rgb(255, 255, 255), colWidth=24). Было: F3 в he3 ничего не открывала. Стало: для повторяемого поля открывается таблица повторений WIrbis.OccEditor, Ок применяет изменения к черновику he3, а при выборе строки фон номера повторения меняется вместе с рядом без отдельной серой спецколонки.editorType=he3; запись или новый рабочий лист с повторяемым полем. Новых настроек ИРБИС 128 PR не добавляет.WIrbis.OccEditor и визуальное состояние колонки # подтверждены Chrome/DOM-readback, изменение описано в Help.he3, БД/РЛ с повторяемым полем.?id=Help/Show&m=he3/Keyboard, ?id=Help/Show&m=he3/FieldEditing, ?id=Help/Show&m=he3/UserGuide, ?id=Help/Show&m=Help/GeneralDescription/WhatsNew/I128/TaskInfo/I128-2849/README.release/2026.2; дополнительных зависимостей в diff нет.Изменения по файлам:
modules/he3/JS/he3.core.js
F2_KEY/F3_KEY и общий helper специальных клавиш, чтобы F3 проходила через активные inline-редакторы так же, как F2.onF3Key: для выбранного повторяемого поля открывается WIrbis.OccEditor; для WSS используется имя рабочего листа, для простых полей формируются колонки по схеме и текущему содержимому.OccEditor.GetFields() обратно в recordData, перестроение вкладок he3, запись состояния в undo-history и синхронизация серверного черновика.inMode и readonly, чтобы таблица повторений получала параметры поля при добавлении и разбиении повторений.modules/WIrbis/JS/irbis-occeditor.js
# получила отдельный column id occ-numberer, фиксированную ширину 24px и больше не задает фон inline, чтобы выбранная строка подсвечивала номер повторения без смещения текста.recordData.he2/GetOccForEditor, если редактор повторений открывается из he3.OccEditor без recordData сохраняют прежнее поведение.modules/ExtJS/resources/css/irb-all-notheme.css
occ-numberer: отдельные фоновые изображения убраны; номер центрирован, обычный по весу, а выбранная строка наследует общий фон таблицы и белый цвет текста.modules/he2/Actions/GetOccForEditor.inc
recordData.fromEditor -> EditorData-content сохранен для классического he2.recordData и его Content являются массивами перед SetContentA.modules/he3/JS/widgets/WidgetCombobox.js
Irbis.he3.isEditorSpecialKey, включающий F3.modules/he3/JS/widgets/WidgetMask.js
Irbis.he3.isEditorSpecialKey, включающий F3.modules/he3/JS/widgets/WidgetTriggers.js
F2/Alt+Q/Ctrl+Enter переведены на общий helper специальных клавиш, чтобы при возможном использовании файла F3 не отличалась от основных виджетов.modules/he3/Help/Keyboard.md
F3 для открытия таблицы повторений.modules/he3/Help/FieldEditing.md
F3.modules/he3/Help/UserGuide.md
F3.modules/Help/Help/GeneralDescription/WhatsNew/I128/2026.2.6.md
he3 добавлена ссылка на I128-2849.modules/Help/Help/GeneralDescription/WhatsNew/I128/TaskInfo/I128-2849/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 не изменялась.