Событие Т9 в комментариях и строковых литералах вызывать автоматически после точки

tormozit Открыто

Сейчас в комментариях и строковых литералах Т9 можно вызывать только явно (спец. сочетанием клавиш). Хочется чтобы событие Т9 вызывалось в случаях

  1. при нажатии точки
  2. при нажатии двойной кавычки
  3. при включенном автовызове Т9 при вводе любого символа после точки

Также событии нужен флаг "Автовызов", чтобы можно было различать ситуации когда надо быстро и когда можно глубоко анализировать.

Комментарии

bolsun
#1, 08 сентября 2023 00:47

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


tormozit
#2, ред. 08 сентября 2023 07:14

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

Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ &Пунек";
Запрос.УстановитьПараметр("

При этом он может не догадаться, что программа ему подскажет имя параметра. Поэтому здесь (при открытии строкового литерала при вводе фактического параметра метода) ОЧЕНЬ полезен будет автовызов события Т9. Но нужно исключить срабатывание после двойного символа, т.е. "", и символа, завершающего строковый литерал.

Другой пример. Пользователь нажал клавишу "В" после символа "." при вводе полного имени объекта метаданных в строковом литерале

ОбщиеФункции.ПолучитьФорму("Справочник.В

Тут тоже будет очень полезно вызывать событие Т9, т.к. программе четко понятен список вариантов продолжения строки - там может быть только имя справочника с вероятностью 99%. А пользователь может не догадаться что программа поможет ему помочь в этой ситуации. Для ускорения вычислений Турбоконф может сам проверить, что часть строки слева от первой точки является именем корневого типа объекта метаданных. Но думаю это решение можно вполне доверить и скрипту.

Согласен что первичное принятие решения о запуске вычисления контекста в этих условиях должно приниматься очень быстро (менее 30мс) и должно эффективно отбрасывать неподходящие ситуации.


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера