Средства ввода


НАЧАЛО >> he3 - редактор записей >> Руководство пользователя he3 >> Средства ввода📄 Скачать в DOCX


Средство ввода выбирается по InMode поля в рабочем листе. Для пользователя это проявляется как обычная ячейка, ячейка с кнопкой вызова, отдельное модальное окно, радиогруппа, поле с маской или специализированный справочник.

Скриншоты в этом разделе показывают типовые состояния элементов. Набор строк и значений демонстрационный; в реальной базе состав списка, дерева или подполей зависит от DopInf, PFT и файлов .mnu, .tre, .ws, .wss.

Рисунок 1 - Основные элементы ячейки для методов ввода he3

Основные элементы ячейки для методов ввода he3

1. Общие элементы

У большинства методов есть общая логика:

  1. пользователь становится в колонку «Значение»;
  2. если у поля есть кнопка-триггер, окно вызывается мышью или клавишей F2;
  3. окно возвращает выбранную строку, код, имя файла или собранную строку подполей;
  4. значение попадает в текущую ячейку;
  5. редактор обновляет состояние записи, историю Undo/Redo и черновик.

В ячейке могут быть следующие элементы:

2. InMode 0 и неизвестные значения: обычный текст

Если метод ввода не задан или не сопоставлен с отдельным виджетом, he3 использует обычное текстовое поле. Пользователь вводит значение прямо в ячейке. В поле работают общие горячие клавиши текстового ввода, включая изменение регистра, смену раскладки, вставку даты и переход к специальному обработчику клавиш редактора.

Элементы: текстовая ячейка, курсор, выделение текста, стандартное завершение редактирования. Окно не открывается, DopInf для такого поля не используется.

3. InMode 1 и 2: справочник или словарь

InMode = 1 и InMode = 2 открывают окно справочника. В зависимости от DopInf это может быть меню .mnu или словарь терминов базы.

Рисунок 2 - Окно справочника или словаря

Окно справочника или словаря

Элементы окна:

Для меню в поле обычно возвращается код пункта. Для словаря терминов возвращается выбранный термин. Поиск выполняется с задержкой после ввода, стрелки перемещают выделение, Enter или двойной щелчок выбирают строку.

4. InMode 3: ГРНТИ

InMode = 3 открывает тематический рубрикатор ГРНТИ. Пользователь выбирает рубрику из дерева или ищет ее по тексту.

Рисунок 3 - Деревья для иерархического справочника и ГРНТИ

Деревья для иерархического справочника и ГРНТИ

Элементы окна:

В запись возвращается код выбранной рубрики. Если пользователь выбирает служебный или корневой узел, редактор требует выбрать конкретное значение.

5. InMode 4 и 8: многострочный ввод

InMode = 4 и InMode = 8 открывают большое текстовое окно. Оно используется для аннотаций, примечаний и других длинных значений, которые неудобно редактировать в одной строке таблицы.

Рисунок 4 - Многострочный ввод и окно подполей WSS

Многострочный ввод и окно подполей WSS

Элементы окна:

Ctrl+Enter применяет текст без переключения на кнопку мышью. Если логика поля предполагает разбиение строк на повторения, каждая строка может использоваться как отдельное повторение значения.

6. InMode 5 и WSS: вложенные подполя

InMode = 5 в he3 является fallback на справочник, но если в DopInf указан файл .ws или .wss, поле воспринимается как составное. Тогда открывается окно редактирования подполей.

Элементы окна:

После применения he3 собирает непустые подполя в строку ИРБИС вида ^a...^b.... Подполя могут иметь собственные InMode, поэтому внутри WSS могут открываться справочники, деревья, текстовые окна и другие виджеты.

7. InMode 6: иерархический справочник

InMode = 6 открывает дерево .tre. Это удобно для рубрикаторов и классификаторов, где значение нужно выбирать из вложенной структуры.

Элементы окна показаны на рисунке с ГРНТИ: поле фильтра, дерево, раскрываемые узлы, кнопка поиска по всему дереву, кнопки «Выбрать» и «Отмена».

Фильтр работает по видимому дереву. Кнопка «Поиск» может переключить пользователя к плоскому списку через окно справочника. В поле возвращается значение выбранного узла.

8. InMode 7: радиокнопки

InMode = 7 показывает варианты прямо внутри ячейки. Варианты берутся из .mnu, указанного в DopInf.

Рисунок 5 - Радиокнопки и поле с маской

Радиокнопки и поле с маской

Элементы:

Радиокнопки подходят только для коротких списков. В запись сохраняется код выбранного пункта меню, а не подпись.

9. InMode 9: маска

InMode = 9 включает ввод по маске. Маска задается в DopInf и управляет допустимыми символами, литералами и заполнителями.

Элементы:

Маска поддерживает буквенные и цифровые правила, преобразование регистра и режим сохранения литералов. Если пользователь не ввел значимых символов, поле возвращает пустое значение.

10. InMode 10: авторитетный файл

InMode = 10 открывает окно авторитетного файла или АПУ.

Рисунок 6 - Авторитетный файл и тезаурус

Авторитетный файл и тезаурус

Элементы окна авторитетного файла:

Пользователь выбирает авторитетную запись, а he3 переносит в поле настроенное значение. Конкретный формат переноса зависит от серверной настройки и DopInf.

11. InMode 11: тезаурус

InMode = 11 открывает тезаурус. Он отличается от обычного справочника тем, что пользователь может работать с фрагментом, деревом отношений и списком отобранных терминов.

Элементы окна:

В запись может переноситься один термин или набор выбранных терминов в зависимости от сценария работы с тезаурусом.

12. InMode 12: загрузка локального файла

InMode = 12 открывает форму загрузки файла с компьютера пользователя.

Рисунок 7 - Загрузка локального файла и выбор файла на сервере

Загрузка локального файла и выбор файла на сервере

Элементы окна:

После успешной загрузки в поле подставляется имя или путь загруженного файла. Место сохранения и допустимый каталог определяются серверной настройкой.

13. InMode 15: динамический справочник

InMode = 15 строит справочник не из статического .mnu, а через PFT из DopInf. Перед построением списка he3 синхронизирует черновик, чтобы PFT получил актуальные данные записи.

Рисунок 8 - Динамический справочник, динамический выбор метода и динамический WSS

Динамический справочник, динамический выбор метода и динамический WSS

Элементы:

Метод используется, когда список зависит от уже введенных полей записи.

14. InMode 16: выбор файла на сервере

InMode = 16 открывает окно выбора уже существующего файла на сервере.

Элементы окна показаны на рисунке с файлами:

В поле возвращается выбранный серверный путь или имя файла. Пользователь не загружает новый файл, а выбирает из уже доступных серверных ресурсов.

15. InMode 17: динамический выбор метода ввода

InMode = 17 не является самостоятельным пользовательским окном. Он сначала выполняет PFT из DopInf, а затем по результату выбирает другой метод ввода.

Элементы сценария:

PFT должен вернуть одну из двух конструкций:

<код_метода_ввода>,<дополнительная_информация>
@<текст_сообщения>

В первом случае he3 открывает окно выбранного метода ввода и передает ему новую дополнительную информацию. Например, результат 1,kvlogin1.mnu откроет справочник kvlogin1.mnu. Во втором случае метод ввода не открывается: пользователь увидит сообщение из строки после @.

Текущее значение поля доступно формату через модельное поле 1001. Если InMode 17 вызывается внутри WSS, в 1001 попадает собранная строка текущих подполей. Это позволяет выбирать следующий справочник или окно не только по записи целиком, но и по вводимому повторению.

Пример настройки: для подполя отдела обслуживания в поле 51 можно указать обязательный метод !17, а в DopInf задать формат:

'1,kv',&uf('IPRIVATE,FIO,'),'.mnu'

Для пользователя с логином login1 такой формат вернет 1,kvlogin1.mnu, для login2 - 1,kvlogin2.mnu. После вызова F2 пользователь работает с обычным справочником, но конкретный файл справочника выбирается динамически.

Динамический метод не должен возвращать InMode 5, 7, 9 или 17. Это предотвращает неоднозначное поведение: вложенный WSS, inline-radio, inline-mask и рекурсивный динамический вызов нельзя безопасно открыть как следующий модальный метод.

16. InMode 18: динамический WSS

InMode = 18 похож на обычный WSS, но состав подполей вычисляется через PFT по текущему черновику и текущему значению поля.

Элементы окна:

Метод нужен, когда структура составного поля зависит от типа документа, уже выбранных значений или другого состояния записи.

17. InMode 20: ввод на основе AI

InMode = 20 открывает окно AI-сценария.

Рисунок 9 - Окно ввода на основе AI

Окно ввода на основе AI

Элементы окна:

Перед формированием промпта редактор синхронизирует серверный черновик. Результат AI не заменяет запись автоматически: пользователь должен проверить ответ и применить его в текущее поле. Работа метода зависит от настройки сервиса AI и PFT в DopInf.