Дополнительный ComboBox с вариантами поведения напрашивается
Не, не Combo, а Check. Вот так:
CheckBox "SearchOption" со значением - "Нечеткий поиск" | 1
"$hd_choisesField" =
sOpt := @if( SearchOption = "1"; "" ; " ");
@If(@Trim(enterField) = "";@Return("");"");
@Trim(@Transform(sOpt + initField; "t"; @If(@Contains(@LowerCase(t); @LowerCase(sOpt + @Trim(enterField))); t; "")))
По поводу Down так:
1. В Combo и Field As Native OS style не работает Down, что логично. Значит надо использовать Notes style.
2. Тогда для "enterField" не будет работать OnChange. Значит для обновления ListBox надо после ввода каждой буквы надо самостоятельно рефрешить дос.
Это легко - в OnFocus вызывать функцию из JS Header, котрая будет нажимать кнопку "RefreshFields".
3. Для "enterField" в OnExit - сделать GoToField("choisesField"), а то на поле в леере не перейдет по Down (проследить, что-бы оно было видимым) и выбрать первое значение списка.
4. И до кучи, раз уж лезем в JS Header, обработать Enter (ловить перевод строки в "enterField", убрать его в enterField.Value и перезаписать поле)
Будет уже почти хорошо.
Еще останется момент преодоления ограничения в 32К что налукапили в "$hd_choisesField" и можно будет менять диалоги выбора из плоских (а может и не только плоских, надо подумать) View в своих проектах.
Если появится время - в течении дня сделаю.
P.S. Еще надо-бы паралельно с "$hd_choisesField" сделать список UNIDов доков откуда лукапили, для полного функционала.
Хороший интерфейс получается.