Управляемая форма - как "подписаться" на активацию поля? #550422


#0 by RomaH
В таблице все понятно - там есть события активация ячейки, колонки есть событие начало и окончания редактирования а вот как быть с полем? задача - програмно менять раскладку клавиатуры в определенных полях/элементах формы для таблицы реализовано, но есть поля - реквизиты объекта
#1 by shuhard
посадить обработчик раз в 3 сек и по текущему элементу переключать
#2 by RomaH
3 секунды многовато, другие варианты есть? форма предназначена для быстрого воода данных боюсь даже на 0,5 будет возможность набрать часть не в той раскладке
#3 by shuhard
дык пунтосвитчер тебе в руки
#4 by RomaH
ага и как пунтосвитчер будет работать с кодами МКБ? Z97.5 - например
#5 by shuhard
если конкретному полю сопоставлен конкретный язык, то кто мешает после ввода транслитерировать и переключить клавиатуру
#6 by RomaH
это крайний вариант - красивее переключать раскладку до ввода, а не транслитерировать
#7 by DrZombi
Переключай раскладку в момент начала редактирования ячейки. Пользователь даже не поймет.
#8 by RomaH
для ЯЧЕЙКИ - читай таблицы - все сделано и работает красиво и правильно мне надо ПОЛЕ - там нет события момента начала чего либо - только окнчания
#9 by RomaH
в порядке бреда: а если этт реквизит засунуть в ТЗ, - ТЗ в таблицу на форме с одной строкой и ячейкой?
#10 by RomaH
+  мда - в этом случае кнопок не видно пока не начнешь редактирование, высота чуть больше чем у поля, ну и самое противное - первая ячейка в строке всегда выделена (текущая) - и светит голубым как от подсветки избавиться никто не подскажет?
#12 by shuhard
в порядке бреда сделай кнопку - гиперссылку, при нажатии - окошко + нужный язык в гиперссылке пропишешь результат как это со счет-фактурой сделано в типовых
#13 by RomaH
т.е. отдельну форму ввода?
#14 by shuhard
даже проще:
#15 by shuhard
вернее так:
#16 by Aswed
Ну вообще есть такое событие поля АвтоПодбор - Вызывается во время начала ожидания ввода текста
#17 by Aswed
+ 16 на него и вешай переключение раскладки
#18 by Aswed
+17 вызывается в момент начала внесения данных в ячейку но до внесения в неё
#19 by shuhard
имхо если быстро вводить текст - не сработает
#20 by shuhard
так и есть, + если поле ограниченной длины и вводиться вся строка, то не возникает даже по окончании ввода
#21 by Aswed
Ну тогда обработку ожидания и контроль за вводом не более 1 символа в секунду))))
#22 by RomaH
нет уж в ВК тогда добавим отслеживание - либо активное окно отслеживать на предмет смены поля либо просто на управляющие команды (клик, ентер, таб, курсор) повесим внешнее событие
#23 by shuhard
капитулирен ?
#24 by RomaH
ИМХО это будет проще и элегантнее, чем транслитерацией заниматься просто на любую возможность смены активного поля буду проверять текущий элемент
#25 by shuhard
чем тебя гиперссылка не устроила ?
#26 by RomaH
- открывается отдельная форма для ввода/выбора значения из справочника, форма не маленькая (заголовок я так и не нашел как убрать) - не красиво Ввести текст тут не катит - тут именно поле выбора из справочника с автоподбором и прочими прелестями
#27 by shuhard
стоп если это поле выбора, то чем ты его открыл ?
#28 by RomaH
ну да, ВвестиЗначение - нормально, .... но не красиво
#29 by shuhard
я не об этом. реквизит, куда надо вводить ссылочный и это справочник ? тогда почему не использовать  НачалоВыбора
#30 by RomaH
потому-что выбор идет через ввод кода
#31 by shuhard
ещё один бредовый вариант, у справочника добавляем реквизит КодВолапюк, ставим ввод по коду и по нему, при записи элемента транслитерируем код и пишем в новый реквизит. тогда менять кодировку клавы при вводе не надо
#32 by Дарт Вейдер
как вариант можно завести доп. реквизит - флажок, который управляет доступностью реквизита ввода кода МКБ (или что там), при установке флажка активизировать поле ввода и сменить раскладку при этом пользователю будет достаточно будет лишний раз нажать пробел или ентер
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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