Вложенные рабочие листы и подполя


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


Если в DopInf поля указан файл .wss или .ws, he3 воспринимает поле как составное и открывает окно редактирования подполей. Пользователь работает с отдельными строками подполей, а редактор собирает итоговую строку ИРБИС вида ^a...^b....

Рисунок 1 - Окно редактирования подполей по WSS

Окно редактирования подполей по WSS

1. Статическое WSS-окно

Для обычного WSS редактор заранее получает схему подполей из WsParser:

  1. WsParser видит в DopInf имя .wss.
  2. Сервер вызывает модуль WSS.
  3. Каждое подполе получает код, название, повторяемость, InMode, DopInf, подсказку и тип виджета.
  4. В окне отображаются колонки «Код», «Подполе», «Значение».
  5. При нажатии «Применить» значения непустых подполей склеиваются в строку поля.

2. Средства ввода внутри WSS

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

3. Динамические подполя

Для InMode = 18 используется динамическое окно подполей. Его структура вычисляется сервером через he3/EvaluateDynWss: PFT получает текущий черновик и текущее значение поля, возвращает набор подполей, а окно перестраивает таблицу. Это нужно для случаев, когда состав подполей зависит от уже введенных данных.

4. Ошибки вложенного листа

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