Зональная форма

Зональная форма

Используем зональную форму на базе 299[67305473] "ФОРМА ЗОНАЛЬНАЯ" для реализации ввода заказа на доставку с умным поиском адреса (через внешний сервис dadata.ru). Возник ряд вопросов и пожеланий.

 

image-1706882725427.png

 

Неудобный ввод

После вывода вариантов блокируется дальнейший ввод в поле адреса. Это неудобно, чтобы уточнить адрес приходится мышкой переключать фокус на поле адреса и продолжать ввод.

image-1716976285213.png

 

Отказ заполнения формы

Как обработать отказ от заполнения формы? В стандартной форме использовали раздел 1[30867565] "Обработка команд интерфейса". В зональной форме код из этого раздела вообще не отрабатывает. Если в зональной форме использовать раздел 1[48431296] "Обработка команд", то он не срабатывает при выходе по нажатию клавиши Esc

 

Обычная форма:

image-1706896674880.png

 

Зональная форма:

image-1706896817607.png

 

Обычная форма, выход по Esc:

image-1706897224002.gif

 

Зональная форма, выход по Esc:

image-1706897340063.gif

 

Зональная форма, выход по кнопке Отменить:

image-1706897361319.gif

  1. Если отказаться от отмены, то курсор уходит в начало поля
  2. Не выставляется значение переменной (не выводится сообщение, что форма отменена). Возможно дело в том, что в зональной форме все выражения срабатывают еще раз при выходе

 

Частичное выделение значения поля

В зональной форме не работает частичное выделение значения в поле, а также частичное редактирование - в стандартной форме в 11.7 это исправлено.

 

Обычная форма:

image-1706897837602.gif

 

Зональная форма:

image-1706897958184.gif

 

Возврат на предыдущее поле

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

 

Обычная форма:

image-1706884665465.gif

 

Зональная форма:

image-1706884676203.gif

 

Цвет ошибки в обязательных полях

В зональной форме, в обязательных полях, ошибки которые выводятся после валидации 1[2359354] "Набор условий (ОБЯЗАТЕЛЬНЫХ) для проверки введенного значения на корректность" не выделяются красным цветом. Если в XML файле с настройками формы указать Mode = 1, то они вовсе не выводятся. В css нет возможности управлять стилем для полей с ошибками.

 

Обычная форма:

image-1706901568353.gif\

 

Зональная форма:

image-1706901599588.gif

Поля read-only

Нужна возможность управлять рамкой (border) поля в состоянии read-only (Только для просмотра) и focus-read-only (Текущее поле, только для просмотра). В обычной форме есть возможность управлять этими параметрами через файл StandardForm.xml

  <p n="field.color:read-only"            v="#808080" /> 
  <p n="field.error-color:read-only"      v="inherit" />
  <p n="field.background-color:read-only" v="#F3F3F3" />
  <p n="field.border-color:read-only"     v="#EBEBEB" />
  
  <p n="field.color:focus-read-only"            v="#808080" /> 
  <p n="field.error-color:focus-read-only"      v="inherit" />
  <p n="field.background-color:focus-read-only" v="#F3F3F3" />
  <p n="field.border-color:focus-read-only"     v="#EBEBEB" />

 

Разделители групп полей

Нужна возможность управлять отступами для разделителя группы полей (margin, padding). Нужна возможность управлять границей (border). Сейчас есть возможность управлять только шрифтом разделителя.

image-1706899310668.png

Свой редактор поля формы

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

Пример того, что хотим получить от формы:

image-1701771427402.gif

 

Адаптировать поля с ComboBox для сенсорного ввода

Идея для обсуждения. Многозональный просмотр с экранной клавиатурой и таблицей. При вводе через экранную клавиатуру выполняется поиск адреса, результаты выводятся в таблицу.

 

Использовать ширину экрана

Сейчас поля формы выстраиваются по вертикали, и высоты экрана может не хватать для отображения всех полей без прокрутки.

Нужно подумать как использовать ширину экрана. Например дать возможность выводить колонки полей. В настройках XML задавать кол-во полей. В проекте описывать группу полей (колонку), задавать заголовок колонки и какие поля входя в ней отображать.

Отличие от Mode=”2” («Матрица») в том, что должен выводиться заголовок колонки. Поля в одной колонке описываются в проекте.

 

Отмена ввода формы по Esc

Клавиша Esc обнуляет значение ткущего поля, повторное нажатие закрывает форму. Ожидается поведение как в стандартной форме, клавиша Esc сразу закрывает форму.

Обычная форма, выход по Esc:

image-1706897224002.gif

 

Зональная форма, выход по Esc:

image-1706897340063.gif

 

Состояние полей по умолчанию

При входе в форму, все обязательные поля находятся в состоянии error. Ожидается поведение как в стандартной форме: состояние error присваивается только после обработки поля, если были ошибки. В полях выводится текст "Поле обязательно для заполнения", как его убрать?

image-1706882397445.png


Система JUPITER                                 www.jupiter.systems                                 (с) 2024г.