1. imaster 8 09.09.11 21:39 Сейчас в теме

Обработать нажатие Enter в форме ввода

Доброго дня!
Как обработать нажатие Enter в поле ввода, даже если оно не изменилось?
Может плохо искал, но внятного ответа не найти не удалось.
Ответы
Избранное Подписка Сортировка: Древо
2. Поручик 4203 09.09.11 23:51 Сейчас в теме
(1)>>> внятного ответа не найти не удалось. Можно подробнее, это как?

Событие ОкончаниеВводаТекста, TextEditEnd
Вызывается после ввода текста при сходе с элемента управления
4. Octopus 337 10.09.11 09:02 Сейчас в теме
Если
На форме только одно поле ввода
, то это не значит, что
сходить с элемента управления некуда
. Вам в (2) предложили работающий метод - через обработчик ОкончаниеВводаТекста. Вы проверили и убедились, что не срабатывает?
6. cool.vlad4 44 10.09.11 10:14 Сейчас в теме
(1) Проще сделайте...положите на форму кнопу(можно сделать незаметно), сочетание клавиш и обработку назначте ей проведения...правда не уверен, что Enter она даст сделать
17. Serj1C 473 10.09.11 15:13 Сейчас в теме
3. imaster 8 10.09.11 07:34 Сейчас в теме
На форме только одно поле ввода, сходить с элемента управления некуда.
Скриншот формы при открытии из документа:

Нужно нажать Enter, чтобы провести чек, но никак(
5. imaster 8 10.09.11 09:22 Сейчас в теме
Octopus,
Конечно проверил. Не работает. Оно же "Вызывается после ввода текста при сходе с элемента управления, ОкончаниеВводаТекста, TextEditEnd"
8. cool.vlad4 44 10.09.11 10:20 Сейчас в теме
(5) Нет, не поэтому, оно не годится потому, что вызывается после ввода текста, как раз сход с элемента управления вам и нужен.
7. cool.vlad4 44 10.09.11 10:18 Сейчас в теме
Enter по моему зарезервирован системой - для активизации соседнего элемента...можно использовать это..
9. timm00 107 10.09.11 10:36 Сейчас в теме
А разве нельзя на форме разместить еще один элемент, на который и будет фокус переключаться?) По-моему, гиперссылка тоже пойдет, а ее можно оочень маленькой сделать...
11. cool.vlad4 44 10.09.11 10:38 Сейчас в теме
(9) ну, так, я ему это и посоветовал...ставится кнопка...
10. tango 487 10.09.11 10:37 Сейчас в теме
вот так уходят лучшие годы.
блин, пардон, мне ж кто-то из учаснегов свою семеру прислал. отчет подрихтовать. и когда? ну, завтра наверняка
12. timm00 107 10.09.11 10:41 Сейчас в теме
13. DanilaDru 241 10.09.11 12:58 Сейчас в теме
Можно также рассмотреть ситуацию когда пользователь внес неправильную сумму в поле и вы её автоматом тут же отбили. В любом случае необходимо какое-то действие пользователя, которое будет подтверждать его согласие с введенной суммой. Все-таки кнопка в данном случае больше подходит.
16. Serj1C 473 10.09.11 15:11 Сейчас в теме
решение есть. через недокументированную возможность 1С

создай Командную Панель, скрой ее, добавь кнопку "Энтер"
при открытии формы назначь ей сочетание клавиш = БыстрыйВызов(13)
и все работает )

Процедура КоманднаяПанель1Энтер(Кнопка)
	Сообщить(ПолеВвода1);
КонецПроцедуры

Функция БыстрыйВызов(Код, Alt=0, Control=0, Shift=0) Экспорт
	Возврат ЗначениеИзСтрокиВнутр("{""#"",69cf4251-8759-11d5-bf7e-0050bae2bc79,1,
		|{0,"+ Формат(Код, "ЧН=0; ЧГ=0") +","+ Формат(Alt*16+Control*8+Shift*4, "ЧН=0; ЧГ=0") +"}
		|}");
КонецФункции

Процедура ПриОткрытии()
	ЭлементыФормы.КоманднаяПанель1.Кнопки.Энтер.СочетаниеКлавиш = БыстрыйВызов(13);
КонецПроцедуры
Показать


// проверено на 8.1.15, если получится - с тебя плюс))
user895546; Volchock; dj_tol; Бит; gPaskal; aximo; user822247; shard; sad123; myoker; OlegCh78; pvlunegov; корум; le0nid; Oegir; madway; alexdmitriev; Кузьмич; valafan; Seneka7608; xa1ter; sea2009; нормальный такой; MeinHerz; olgerd666; leles; Archikg; cool.vlad4; imaster; +29 Ответить
28. Oegir 15.12.16 13:23 Сейчас в теме
(16) 8.3 управляемая форма - работает...
Ан нет, при скрытии панели не работает. Максимум, что удалось сделать - задать стили цветов под фон формы, уменьшить размер кнопки до 1, убрать "ОтображениеФигуры" и поставить заголовок ".", но командная панель все равно занимает место на форме.
31. pvlunegov 129 10.04.17 13:36 Сейчас в теме
(16) прекрасно работающее универсальное решение, работает в случае управляемых и обычных форм.
Апплодирую стоя! Виват победителям, вы помогли - спасли меня уже дважды!
Первый раз - на управляемых формах - 2 раз на обычных формах!

(30) как я уже говорил, есть много элементов формы, где просто нет обработчиков событий нажатий на определенные клавиши, которые нужно обработать.
(30) Ваше решение - частное, для вашего случая, в общем случае не будет работать не будет, на управляемых формах тоже не работает.
33. Fragster 869 10.04.17 13:47 Сейчас в теме
(31) я делал как раз на управляемых формах
36. nicxxx 205 25.05.18 13:38 Сейчас в теме
8.3.10.2561 - не работает. В созданном объекте "СочетаниеКлавишь" поле Клавиша равно Неопределено :(
37. dj_tol 83 17.09.18 08:45 Сейчас в теме
(16)
ЭлементыФормы.КоманднаяПанель1.Кнопки.Энтер.СочетаниеКлавиш = БыстрыйВызов(13);


1С:Предприятие 8.3 (8.3.10.2667)
Круто работает!!!!


&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Элементы.Ок.СочетаниеКлавиш= БыстрыйВызов(13);
КонецПроцедуры


&НаКлиенте
Процедура Ок(Команда)
	ЗакрытьСПередачейРезультата(Текст);
КонецПроцедуры

Функция БыстрыйВызов(Код, Alt=0, Control=0, Shift=0) Экспорт 
   Возврат ЗначениеИзСтрокиВнутр("{""#"",69cf4251-8759-11d5-bf7e-0050bae2bc79,1, 
      |{0,"+ Формат(Код, "ЧН=0; ЧГ=0") +","+ Формат(Alt*16+Control*8+Shift*4, "ЧН=0; ЧГ=0") +"} 
      |}"); 
КонецФункции
Показать
tezdal; Serj1C; +2 Ответить
32. pvlunegov 129 10.04.17 13:38 Сейчас в теме
14. roger83 31 10.09.11 13:38 Сейчас в теме
я бы добавил кнопку "ОК" и сделал ее кнопкой по умолчанию. Тогда она будет обрабатываться при нажатии Ctrl+Enter
15. imaster 8 10.09.11 15:05 Сейчас в теме
Всем спасибо за ответы.
Сочетание кроме Enter не принимается.
Поместил рядом кнопку, при переходе на неё, событие ОкончаниеВводаТекста из поля ввода всё равно не отрабатывает.
Как промежуточный вариант поставил рядом гиперссылку в виде точки, из минусов - в поле ввода приходится два раза нажимать Enter, если сумма не меняется.
18. imaster 8 10.09.11 16:41 Сейчас в теме
Serj1C, класс! Огромное спасибо, вот это то что надо! Теперь работает!:)
Платформа 8.2.14.519
19. cool.vlad4 44 10.09.11 16:46 Сейчас в теме
(18) Я тебе об этом в 6 говорил...у него зачем-то Вместо напрямую использования СочетаниеКлавиш используется через ЗначениеИЗСтрокиВнутр, ну красиво, да...
20. cool.vlad4 44 10.09.11 16:48 Сейчас в теме
Я так всегда делаю, кладу на форму списка кнопу и через горячие клавиши пользователь вызывает быстрые отборы(как либо нечеткий поиск). Удобно. А в 6 наверное нечетко выразился.
21. cool.vlad4 44 10.09.11 16:51 Сейчас в теме
А понял, зачем :D ...хитро...
22. imaster 8 10.09.11 16:54 Сейчас в теме
cool.vlad4,
правда не уверен, что Enter она даст сделать

Стандартными средствами и не даёт) В помощи не нашёл.
23. cool.vlad4 44 10.09.11 17:06 Сейчас в теме
(22) Да :D (16) А как ты догадался, вот до этого Формат(Код, "ЧН=0; ЧГ=0") +","+ Формат(Alt*16+Control*8+Shift*4, "ЧН=0; ЧГ=0") ?
26. Serj1C 473 10.09.11 17:49 Сейчас в теме
(23) методом проб и ошибок)
по чесноку взял на вооружение (как видно из оценок) ровно 2 года назад http://infostart.ru/public/22214/
pvlunegov; +1 Ответить
24. imaster 8 10.09.11 17:10 Сейчас в теме
25. cool.vlad4 44 10.09.11 17:19 Сейчас в теме
Черт, как я без этого жил ;) Забавно, но как раз что-то подобное мне сейчас и нужно...
27. toshka 17.09.11 06:00 Сейчас в теме
(1,3) Все очень просто!
Поле ввода суммы оплаты - Событие ОкончаниеВводаТекста в конце пишем - ПодключитьОбработчикОжидания("ХХХ", 0.1, Истина);

Процедура ХХХ()
ЭтаФорма.Закрыть(НужныйПараметр);
....

И никаких извращений.... Проверено 8.1, 8.2
29. pvlunegov 129 10.04.17 13:18 Сейчас в теме
(27) а если нужно обработать событие нажатия на клавишу Delete на ячейке ПолеТабличногоДокумента, где нет обработчиков?
Думаете все так просто?
Без (16) нет решений, весь инет облазил!
(16) рабочее решение - помогло!
30. Fragster 869 10.04.17 13:21 Сейчас в теме
я делал через многострочное поле высотой одну строку и обработку изменения текста редактирования
34. a.boloban 21.06.17 19:40 Сейчас в теме
У управляемой формы есть свойство "ПоведениеКлавишиEnter" - либо переход по элементам, либо кнопка по умолчанию. Все давно украдено до нас (с)
35. pvvpvv 10 21.06.17 20:12 Сейчас в теме
Я с вас балдею. Со всех. Вы кто? Программисты или где?
Если программист не знает,что было "ДО", значит он никогда не узнает, что будет после. Это вам о событиях и о программистах.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
Полный день

Программист 1С
Москва
зарплата от 100 000 руб. до 130 000 руб.
Полный день

Бизнес-аналитик 1С ERP
Пермь
зарплата от 80 000 руб.
Полный день

Программист 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день

Бизнес-аналитик 1С УТ 11
Омск
зарплата от 60 000 руб.
Полный день