Обработчик нажатия Enter в поле ввода

Форум 1С: Одинэс.Ру

Найти!

Обработчик нажатия Enter в поле ввода

Антиквар
07.04.2009 - 16:47
Что-то я глючу, но в 7-ке по-моему это было без проблем.
А в 8.1 не могу найти удобного решения.
Мне нужно, чтобы в поле для поиска при нажатии Enter запускалась процедура поиска. Пользователь должен ввести набор символов, нажать Энтер и ждать результата. Как мне перехватить нажатие Энтер в этом поле ввода?
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
20.04.2024 - 02:54
Смотри также:
сбилась автонумерация
v8: ФОРМАТ - число прописью
УПП. Ввел Кассу Организации. При создании "Выплата з/пл расходными ордерами" из дока "ЗарплКВыплОрганизац

Re: Обработчик нажатия Enter в поле ввода

VZ
1 - 07.04.2009 - 17:39
Смотри обработчики события для поля ввода.

Re: Обработчик нажатия Enter в поле ввода

Антиквар
2 - 08.04.2009 - 04:50
Я их само собой смотрел, вот и удивился что нет подходящего. Есть например событие "ПриОкончанииВводаТекста", но оно срабатывает при любом варианте выхода из поля редактирования, не только Enter'ом. Но даже в этом случае, оно срабатывает лишь при изменении значения в поле ввода. Мне же нужно всегда. Тут видимо нужно искать какое-то событие самой формы, при переводе фокуса с элемента управления, проверять на элемент управления. Но при этом как-то отслеживать что была нажата Энтер. Просто не верится что всё так сложно :)

Re: Обработчик нажатия Enter в поле ввода

VZ
3 - 08.04.2009 - 05:21
оно срабатывает лишь при изменении значения - зачем тебе запускать какой-то процесс, если данные не поменялись? Ты, что, эмулируешь функцию подбора случайного значения посредством юзера?
 
Если что-то функциональное нельзя сделать - 99.999%, что задумал несуразное.

Re: Обработчик нажатия Enter в поле ввода

Антиквар
4 - 08.04.2009 - 06:55
:)))
В форме есть поле ввода для поиска. Есть кнопка "Найти", но клиент хочет, чтобы поиск начинался при нажатии энтер в этом поле. Ну что-то наподобе стандартной строки поиска в меню 1С, где бинокль. Там по Энтеру. А так ему приходится 2 раза жать Энтер, первый раз чтоб перескочить на кнопку "Найти", второй раз чтоб её нажать. Если данные в строке поиска не менялись, то искать в моем случае всё-таки желательно, т.к. меняются данные, по которым ищет. Тут конечно не сложно и кнопку нажать, когда повторно то ищешь. Но как пользователю объяснить, что мол если надо повторно поискать после изменения данных в базе, то ты не вставай в поле поиска и не жми Энтер, а жми кнопку, а Энтер жми только когда вводишь новое значение для поиска. Некрасиво получается. Но даже если так, как отловить нажатие этого Энтера ?

Re: Обработчик нажатия Enter в поле ввода

nordbox
5 - 08.04.2009 - 07:08
(4)ничего непонял
почему тогда тебя "ПриОкончанииВводаТекста" неустраивает?

Интересные темы

odines.ru
20.04.2024 - 02:54
Смотри также:
Вопрос по выгрузке из базы Ут в две базы БП
Бух. Начисление платы за аренду автотранспорта и удержание НДФЛ
Закрытие 21 счета

Re: Обработчик нажатия Enter в поле ввода

iogri
6 - 08.04.2009 - 07:12
2(4) А если попробовать вместо "Поля ввода" использовать "Табличное поле"?
Там событий побольше, может какое и подойдет...

Re: Обработчик нажатия Enter в поле ввода

Антиквар
7 - 08.04.2009 - 08:02
(5) Не устраивает, потому что срабатывает не только по Энтер, а в любом случае когда с элемента уходишь, хоть мышкой ткнешь в другое место. Т.е. надо как-то отлавливать нажатие Энтер.
А во-вторых, срабатывает только если данные в поле ввода изменялись.
 
(6) Строка поиска в табличном поле ... круто конечно, но спасибо, посмотрю.

Re: Обработчик нажатия Enter в поле ввода

roma n
8 - 08.04.2009 - 08:36
Приучи оканчивать ввод по Ctrl+Enter

Re: Обработчик нажатия Enter в поле ввода

iogri
9 - 08.04.2009 - 08:49
+(6)
В качестве бреда (кривовато, но несложно).
Вместо непосредственного ввода в поле поиска использовать функцию ВвестиСтроку() и анализировать возвращаемое значение

Re: Обработчик нажатия Enter в поле ввода

VZ
10 - 08.04.2009 - 09:23
Ну, конечно, несуразное....
Про "педальку" в поле ввода аффтар, видимо, не подозревает, потому и изобретает кнопки...
Вместо того, чтоб научить юзера научиться работать с интерфейсом, который стандартен для всех форм, он следует прихотям неуча, обрекая себя на выполнение нелепых хотелок, а юзера - на мучительное вспоминание своих хотелок на каждой новой форме...

Re: Обработчик нажатия Enter в поле ввода

VZ
11 - 08.04.2009 - 09:32
Или афффтар не умеет бороться с такими хотелками? Так это очень просто: кладешь перед юзером лист бумаги, и говоришь: "Пиши заявку. Начинай: Генеральному директору бла-бла-бла... Прошу Вас обязать изменить поведение формы документа по моему хотению, поскольку я не в состоянии запомнить набор клавиш для перемещения по элементам формы, и с трудом пользуюсь мышкой".
После чего неси директору для резолюции.

Re: Обработчик нажатия Enter в поле ввода

roma n
12 - 08.04.2009 - 09:39
11-VZ > чего-то ты раздухарился :)
При поиске (в подборе или еще где) требование (0) может оказаться вполне разумным. Дёшево и сердито решается (8). К комбинации юзвери привыкают на ура. Проверено. Единственный минус - если комбинация была навешена на что-то ранее и ею активно пользовались

Re: Обработчик нажатия Enter в поле ввода

roma n
13 - 08.04.2009 - 09:43
+(12) точнее не "требование (0)", а "требование, породившее мысли о пути решения как в (0)"

Re: Обработчик нажатия Enter в поле ввода

VZ
14 - 08.04.2009 - 09:54
12-roma n > Ничего я не разухарился... Единый интерфейс - это первейшее требование для ПО такого типа. Думаешь, почему оффис такой популярный? Совсем не в малой степени из-за того, что одинаковые кнопочки в разных компонентах делают одно и тоже... Что пункт меню в одном приложении делает тоже самое, что аналогичный пункт меню в другом... Что "горячие клавиши" тоже унифицированы, поелико это возможно...
 
Как посмотрит производитель автомобиля на потребителя, путающего лево-право, и требующего поменять педали местами? Правильно, пошлет на ху... хутор бабочек ловить. Ибо нех. Иначе эти автомобили запретят к ввозу в любую страну, поскольку будут притягательными для тех, кому на дорогу вообще нельзя выезжать. По причине дибилизма.
 
Лично я удаляю любое приложение со своего компа, если обнаружу, скажем, что F1 вызывает что-то кроме "помощи".
Нафиг. С этим разработчиком лучше не связываться. Найдется вменяемый.

Re: Обработчик нажатия Enter в поле ввода

roma n
15 - 08.04.2009 - 10:02
14-VZ >
Дык я автора и веду к тому, что ежели хотелка возникла, то может требуемое действие одно из основных действий формы и стОит пересмотреть интерфейс, переименовав кнопку "Выполнить", обозвав её нужными словами а кнопку вызова процедуры поиска сделать кнопкой по умолчанию.

Re: Обработчик нажатия Enter в поле ввода

VZ
16 - 08.04.2009 - 10:26
(15) Не знаю. Что вижу, то пою. Как чукча. А вижу я желание изменить поведение поля ввода. Несмотря на то, что список выбора настраиваемый. Что перед окрытием может принять условия отбора. Что в процессе выбора этот отбор можно поменять. Что можно запомнить состояние реквизита до выбора. Чтоб можно было сравнить после выбора. И в любой произвольный момент.

Re: Обработчик нажатия Enter в поле ввода

Антиквар
17 - 08.04.2009 - 12:06
(10,11) VZ, про педальку в поле ввода не знаю, поделитесь соображениями?
И это у меня не документ, а внешняя обработка, которую я подстраиваю максимально удобно для юзера. Писать директору - это круто, я заказчика то один раз видел. ТЗ шлет по почте. Фирма где он работает в другом городе, может он и есть директор кстати :))
(8, 15) Да, я думал об этом. Но мне всегда казалось что есть спец.событие, оказалось ошибся. Тут я не знаю что проще, нажать юзеру Ctrl+Enter или 2 раза Enter (кнопка то идет сразу за полем ввода) :) Кнопки Выполнить у меня нет, это единственная кнопка. На неё конечно можно навесить CTrl+Enter. Заказчику не очень понравится правда, но думаю из-за такой мелочи не сильно растроится.
(16) Это всё понятно, спасибо, но ничего из этого не нужно :) Хотелось лишь запускать процедуру поиска, нажав Энтер по окончании ввода. Думал всегда что есть такое стандартное событие, тем более и у самого привычка завершать ввод Энтером, да и все так делают, поэтому такое событие могло бы быть полезным. Вы меня просветили, что такого нет, спасибо, буду применять то что есть.

Re: Обработчик нажатия Enter в поле ввода

VZ
18 - 08.04.2009 - 15:16
Педалька...
Для поля ввода типа, например, определенного справочника, в свойствах появляется возможность задать 5 кнопок (см.раздел Использование): КнопкаСпискаВыбора, КнопкаВыбора, КнопкаОчистки, КнопкаРегулирования, КнопкаОткрытия...
Вообще, состав зависит от заданного типа поля ввода.
Для каждой кнопы есть событие...
Можно назначит "быстрый выбор"...
Можно назначить форму выбора. Благо, форм можно навесить на справочник скоко угодно, и не обязательно уродовать типовую, а можно завести свою, чтоб обновляться было дешевле...
Режим выбора незаполненного значения тож выбирается: ентером или при активизации поля...
И т.д.
Есть из чего выбирать поведение-то...
 
А сделать "автонажатие" любой клавиши тоже легко ;) Токо делать это надо там, где штатно невозможно добиться рационального.
В отличии от не получается...

Re: Обработчик нажатия Enter в поле ввода

Антиквар
19 - 09.04.2009 - 04:38
(18) У меня поле ввода - обычная строка. Пользователь вводит совершенно любой набор символов, который преобразуется потом к нужному виду и по нему ищет. Т.е. никакие вышеперечисленные методы не подойдут.
И в принципе считаю не такое уж уродливое желание пользователя по Энтеру запускать поиск. Всё-таки штатная возможность Ctrl+Enter - это немного другое, это нажатие кнопки по умолачнию, неважно где-ты находишься в форме. А при вводе в строке поиска удобно нажав энтер этот самый поиск запустить.
Автонажатие клавиши тоже не нужно, поскольку она реально нажимается :) Хотелось именно нажатие Энтера в строке ввода отработать, но видно не судьба или ума не хватает у меня :)
К списку тем 1 > К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« v8: Ошибка при обмене с БУх 77 в ЗиУП 81 (2.5) Не могу подключить фискальник Штрих-М ФР-Ф »
© 2009 Форум 1С: Одинэс.Ру