Активировать поле ввода после нажатии клавиши #740706


#0 by Ymryn
Мое почтение. Следующая проблема. Необходимо после нажатия на кнопку возвращать активность на поле ввода. Через установку текущего элемента получается решить проблему частично. Да, теперь при вводе информации, данные будут вводиться в него, но горизонтальной мигающей черты, сигнализирующей о том, что поле активно: пожалуйста, вводите; не появляется. Для этого надо или нажать enter, либо выбрать поле мышью. Вопрос - как добиться, появление этой горизонтальной черточки? :) Ну или хотя бы пните куда копать.
#1 by Cyberhawk
Сымитируй нажатие Enter через WSH
#2 by Капитан Джек Воробей
синтаксис-помощник там посмотри "АктивизироватьПоУмолчанию" Скажи платформа хоть какая?
#3 by Ymryn
Нее, это я косячу. Надо найти правильную последовательность действий. Установить текущий элемент определенно мало. Надо, что-то еще сделать. Какой-нибудь метод по типу "обновить" вызвать. По крайней мере такое ощущение. Чего-то я не вызываю, что нужно вызвать.
#4 by Ymryn
8.3. Активировать по умолчанию делает поле активным при открытии формы. Он уже установлен. Установка его повторно ничего особо не меняет.
#5 by Serg_1960
Ну да. А потом "сымитируй" нажатый символ, перенос курсора  и ответ на вопрос "Нажатый символ добавить в конец значения поля или поле очищать перед вводом символа?" :)
#6 by Ymryn
ну должен же быть способ без имитации нажатого символа. Должен же быть метод, чтобы вернуть активность полю.  Я отказываюсь верить, что его нет. Но за подобное направление поисков - спасибо.
#7 by D_E_S_131
Вызов диалога ввода строки наверное только, если WSH тебе греховно использовать.
#8 by Serg_1960
#9 by Капитан Джек Воробей
Здесь посмотри
#10 by Ymryn
благодарю. :)
#11 by Cyberhawk
О, у меня в Такси поиск по списку работает как надо автору - после нажатия на лупу фокус с прямой мигающей чертой возвращается в поле ввода
#12 by Ymryn
поделись секретом, как? ) Метод в меня несколько пугает :)
#13 by Cyberhawk
на клиенте в процедуре команды ЭтаФорма.ТекущийЭлемент = Элементы.СтрокаПолнотекстовогоПоиска
#14 by Cyberhawk
В то же самое для полей ввода описано по ссылке на какой-то другой форум
#15 by Serg_1960
, если мне память не изменяет, публиковал свою писал на нетленку по перехвату клавиш клавиатуры. Могу поискать ежели что.
#16 by Ymryn
неа. Не работает. Поле становится активным, но мигающей черты нет. Это в Такси.
#17 by Ymryn
благодарю, не надо. Если это останется единственным направлением, я уже сам поищу. Большое спасибо за то, что подсказываете. Я пока хочу попробовать решить без перехвата, сугубо вызовом имеющихся методов в 1С. Меня смущает, что для такого казалось бы простого действия требуются еще какие-то танцы с бубном. Мне кажется я просто упускаю какую-то деталь из виду.
#18 by Cyberhawk
У меня тоже Такси. У поля ввода формы путь к данным - это строковый реквизит формы. А у тебя?
#19 by Cyberhawk
+ еще КнопкаОчистки = Да стоит вместо "Авто"
#20 by Cyberhawk
А, прогнал - черта не появляется, выделяется весь введенный в поле текст
#21 by Ymryn
угу, поле неполноценно активно. Оно на вставку ctrl+v реагирует после этого, на другие горячие клавиши тоже, а вот на ввод с numpad'а - нет. Надо прожать Enter тогда станет полностью активным.
#22 by Cyberhawk
Хотя не совсем прогнал - при первом нажатии на кнопку поле активизируется именно с прямой чертой, а при последующих - выделяется весь набранный там текст. Ща гляну что там еще происходит.
#23 by Cyberhawk
Выяснил: у меня если по введенному в поле тексту что-то нашлось или ничего не нашлось, то обновляется текущая страница у еще одной группы на форме (вид группы - "Страницы"), обновляется статус (типа "Найдено столько-то", либо "Не найдено ничего"). В этом случае поле ввода потом активируется с прямой чертой без выделенного текста. Если же поиск не приводит к обновлению статуса (переприсвоению текущей страницы у группы-агрегатора страниц), то поле ввода активируется с выделенным текстом.
#24 by Ymryn
У меня несколько другая картина. Если я сразу отказываюсь от выполнения процедуры и делаю присвоение элемента и возврат (у меня пустая ТЗ и обрабатывать нечего), то будет возврат с чертой. Если же идет какая-то обработка и неважно когда я устанавливаю текущий элемент в начале или в конце процедуры - то будет возврат с выделением. Как-то это странно работает.
#25 by Cyberhawk
сделай написанное в 23 - добавь группу-пустышку и программно меняй ее текущую страницу каждый раз
#26 by Ymryn
нее, что-то у меня так не срабатывает :) По крайней мере изменить текущую страницу на другую, а потом вернуться на эту - не срабатывает.
#27 by Cyberhawk
У меня порграммная смена страницы меняется однократно и до программной активизации поля ввода
#28 by Ymryn
это какое-то шаманство. :) Я не понимаю, как смена страницы связана с тем стало поле активным или нет :) Отдельная тема, что альтаб и вернуться обратно к сеансу 1С тоже сделает поле активным с черточкой. Т.е. возврат переактивация формы сделает поле тоже активным. Но переоткрытие формы через .Открыть не помогает. Автикивизировать тоже не помогает. ОбновитьОтображение (ну а вдруг?) не помогает. Толи 1С так удачно сделали этот механизм, что он непонятно как работает, то ли я упускаю какую-то очевиднейшую вещь. p.s. Две строчки шела ( вызвать ком объект, и нажать энтер) решают проблему, но блин, почему приходится так делать :)
#29 by Ymryn
Ладно, это уже пахнет оккультизмом. Большое спасибо всем откликнувшимся.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С