gifts2017

[ОБУЧАЛОВКА] Полезное наблюдение: постоянное позиционирование на поле ввода

Опубликовал Сергей (Che) Коцюра (CheBurator) в раздел Программирование - Практика программирования

Простое маленькое "наблюдение", получившееся в результате обсуждения вопроса на соседних форумах.

Q: как установить курсор в поле ввода при нажатии энтера на этом же поле ввода?
А: известно, что...

...что 7.7 не позволяет использовать конструкцию Активизировать(ИмяРеквизитаПоляВвода) в процедуре, которая вызывается в этом поле ввода. Приходится извращаться с ложным закрытием формы и в процедуре ПриЗакрытии() активизировать нужное поле ввода.

При упрощении задачи до наличия единственного поля ввода (например, оператор тупо по циклу вбивает некие данные: артикулы, сертификаты, етц...) задача позиционирования курсора обратно в это же поле ввода может быть решена и без ложного закрытия формы, достаточно всем остальным диалоговым реквизитам поставить признак "пропускать при вводе = вКл".

Вот такая вот маленькая полезняшка.

Где она может быть применена? Отвечаю: при использовании сканеров в разрыв клавиатуры многие предпочитают ставить атолловские драйвера, для возможности использовать обработку внешнего события. В ряде случаев это вполне оправдано. Однако в узкоспециализированных задачах можно вполне обойтись и без драйверов, применяя описанное выше "наблюдение". Таким примером может служить, например, обработка потокового сканирования товаров (касса, сканеры при проверке заказов и т.д.), где единственным активным элементом интерфейса является поле ввода для принятия отсканированных данных.

В приложение к данной статье будет сделана простая обработочка для типовой ТиС, иллюстрирующая данный пример. Выложу чуть попозже...

В случае изложения мной тривиальных основ - сорри, что есть - то есть...

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Кузнецов (gvadeg) 28.08.09 22:05
Однозначно +.
С нетерпением жду обработку с примером.
Если можно поподробнее о атоловских дровах для разрыва клавиатуры.
2. Сергей (Che) Коцюра (CheBurator) 29.08.09 00:15
(1) идем в сой провиль и смотрим раздел статей, в части "ликбез по сканерам"
3. Александр Рытов (Арчибальд) 29.08.09 10:32
Ждем-с. Разрыв клавиатуры задолбал конкретно. В личку уж написал... :((
4. vip (vip) 29.08.09 13:28
(0) Делаем обработку ВернутьФокус.
В ее модуле код
Процедура ПриОткрытии()
СтатусВозврата(0);
КонецПроцедуры

В конце процедуры поля ввода пишем

ОткрытьФормуМодально("Обработка.ВернутьФокус");
CheBurator; Resembler; begemot; JohnyDeath; +4 Ответить 2
5. Евгений Мартыненков (JohnyDeath) 29.08.09 21:26
Я что-то не совсем понял (0). Автор предлагает поставить "пропускать при вводе = вКл" всем реквизитам формы? Т.о. на остальные реквизиты вообще не попадешь с клавы? Или это дело предлагается изменять налету программно?
6. Сергей (Che) Коцюра (CheBurator) 30.08.09 00:12
(5) правильно все понял. ясен пень, что область применимости - достаточно узкая.
7. Сергей (Che) Коцюра (CheBurator) 30.08.09 00:12
(4) спсб. забыл оказывается эту феньку...
8. Епрст (Ёпрст) 02.09.09 14:19
(4) баян однако.. на синьёре сто лет в обед валяется...
:)
9. Poppy (poppy) 02.09.09 15:15
(5) "Пропускать при вводе" относится только к клавише Enter.
Кнопкой Tab можно обойти все реквизиты формы независимо от наличия обсуждаемой галочки.
10. Евгений Мартыненков (JohnyDeath) 02.09.09 17:43
(9) Да, может быть.
Но пользователей, которые пользуются клавишой "Tab", очень мало.
11. Сергей (Che) Коцюра (CheBurator) 02.09.09 19:49
(8) так я там видимо и прочитал...
12. Poppy (poppy) 03.09.09 00:16
(10) Точно. Есть странные пользователи, которым не жалко времени, чтобы "дергать" руку с клавиатуры на мышку и обратно, чтобы перейти к очередному полю ввода. :(
13. Денис Уваров (rediska) 09.09.09 08:38
"Программисты придумали самый удобный пользовательский интерфейс... мир придумал еще более тупого юзера" © БББ
14. Buzz (Resembler) 10.09.09 10:11
(8) Мне вот недавно надо было найти ответ на этот вопрос, и сайте на синьёре не открывался с ошибкой 404
http://www.sinor.ru/~my1c/knowhow/getskod.html (и до сих пор не открывается)
Поэтому нужно, чтобы была база знаний на сайте, который не исчезнет завтра-послезавтра.
Автору спасибо :)
15. Лис Лисов (firefox) 28.09.09 16:09
http://www.sinor.ru/~my1c/knowhow/getskod.html (и до сих пор не открывается)
Поэтому нужно, чтобы была база знаний на сайте, который не исчезнет завтра-послезавтра.


Пользуйтесь интернет архивом и сайты никуда не пропадут: www.archive.org

Например так:
http://web.archive.org/web/20080601194426/http://www.sinor.ru/~my1c/knowhow/getskod.html
16. Сергей (Che) Коцюра (CheBurator) 27.09.12 23:18
ну собственно, все работает кучу лет... на формах, где имеется ТЗ для отображения насканированного или иной инфы - для ТЗ ставим доступность=0, навигацию по тз делаем кнопочками/клавишами...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа